Cache underlying ByteBuffer in ChannelOutboundBuffer to reduce object creation and so GC pressure