Get returns a *[]byte from pool with most appropriate cap.
It returns a *[]byte with cap of (2^n)-1.
If size is too big, Get simply calls make([]byte, size).
Release releases b to the pool.
If cap(b) is too big, Release is noop.
b should come from Get(). Release will panic if
cap(b) is not suitable for the pool.