This adds a `Codec` based testing API. This is a bit less annoying than writing at the raw H2 wire protocol level...
Codec
Exposes `Codec` using an unstable flag. This is useful for testing.
Restructure send flow control such that sending data is always accepted by `Stream`. Data frames will be buffered until there is available window to send them. Producers can monitor the available window capacity to decide if data should be produced.