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 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.