C# Async support
Have you considered to extend C# support with async?

Currently, `CSharpCompiler` generates parsers with synchronous API. It would be great to be able to use Kaitai for parsing data asynchronously, e.g., a custom network protocol parsing on the highly concurrent server. This would increase throughput and lower latency and memory footprint of such an application. Usage of the synchronous Kaitai parsers in asynchronous calls results in the depletion of ThreadPool.

After a brief study of Kaitai, I assume that the `KaitaiStream`, and `CSharpCompiler` are the candidates for modification. 

Because parses in Kaitai heavily use `Seek` that has no `Async` overload in BLC, the change would most probably require to wrap the `Stream` in `KaitaiStream` into custom implementation and introduce some buffering. Also, the `BinaryReader` used as a base of `KaitaiStream` does not provide async API so that custom implementation would be required as well.

Would you consider a PR containing such modifications?