Performance optimizations and memory management

Added some benchmarks to secure channel and played around with improving its performance, also started using a sync.Pool for message buffers.
should clear (zero-out) the buffer before returning it. otherwise could accidentally leak data across different connections if our offsets are wrong somewhere.