Afaik, libuv will always do `onAlloc` when it reads more data, so it is safe (and expected) for `onRecv` to take ownership of the buffer.

The way `useData` was implemented before was that it took ownership of the data buffer and used it directly during the NLBuffer lifetime. Thus it made sense to shrink the buffer.

However, as the `useData` implementation is today, it copies the contents of the buffer anyway. So it is okay to not realloc here.