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.
not sure this merits a warning. it might. not sure if the channel can be closed before `<-ctx.Done()` releases. maybe it can't. i guess keep it.