deflatehd: Fix wire is not written if length is 0
nghttp2_hd: Rewrite huffman decoding
nghttp2_hd: Implement stream header inflater

This stream inflater can inflate incoming header block in streaming
fashion. Currently, we buffer up single name/value pair, but we chose
far more smaller buffer size than HTTP/2 frame size.
nghttp2_sesson_mem_recv: Process incoming data in streaming fashion

Now incoming data is processed in very small buffer (up to 8 bytes)
using state machine. GOAWAY debug data can get to 16K - 1, and we
don't have callback for it. Since we don't want to buffer that
amount of data just for debugging, we currently discard it.
This change also makes parse_error callback not function.
It probably be removed from API.
Remove nghttp2_frame_unpack_* functions
nghttp2_hd: Define dedicated struct for HPACK deflater and inflater
Support CONTINUATION frame reception
Support transmission of CONTINUATION, change nghttp2_frame_hd

The maximum frame size including header block is still limited
to NGHTTP2_HD_MAX_BUFFER_LENGTH, which is 32KB.
src: Fix compiler warning
Remove nghttp2_on_frame_recv_parse_error_callback
Update doc