slab_allocator: remove SlabAllocator

SlabAllocator has been completely removed. Instead each request uses the
incoming data and creates a new Buffer. This should remove any prior
memory leaks.

Performance isn't much worse, but still not where it should be.
buffer: add dispose to Buffer instance api

Users now have the ability to manually dispose a Buffer when it's no
longer needed. This will transform the instance into a zero-length
Buffer. If the instance was a slice then the memory is not actually
released, but the pointer to the parent allocation is removed.
tls: remove SlabBuffer

Further remove external pooling mechanisms. This does cause a small
performance regression, but this should be solvable once everything is
centralized.
stream_wrap: allow onread to pass data to callback

Instead of forcibly creating a Buffer from the incoming data and passing
it to MakeCallback, allow for the data to be passed to a callback. This
should allow for a more interesting array of performance improvements as
operations can be performed directly on the data before adding the
overhead of creating a Buffer and passing it to js.