VariantWriter::write()
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync. This PR makes the VariantParser readahead to be optional to allow for these use cases.
Adds a readahead buffer to VariantParser, to prevent large numbers of freads for single bytes, which is inefficient.