Reduce memory copies in spdy compression implementation.

Motivation:

Currently we do more memory copies then needed.

Modification:

- Directly use heap buffers to reduce memory copy
- Correctly release buffers to fix buffer leak

Result:

Less memory copies and no leaks
I wonder why we need to add `alloc`. We can get the allocator used for the channel from `headerBlock.alloc()`. No?