Discussion with Daan about H3 integration in chromium and queuing of requests.
If we want to open a new stream and that new stream's ID would be higher than the current max STREAM ID, what happens?
If we just return an error, the higher-level code needs to buffer requests and listen for a callback when the stream id gets upped.
Alternatively, we can just create the stream and buffer data and have this done transparantly for the higher-level code (e.g., high-level isn't sure if streams are actually put on the line directly or delayed a bit).
Option 1 is more explicit but tedious, option 2 could be confusing but is much easier to implement all round.
Currently, we just create the stream and also (I think) happily send data for it...