smalloc: initial commit

smalloc is a simple utility for quickly allocating external memory onto
js objects.
smalloc: add sliceOnto

This is a generic and simpler way of makeFastBuffer, as it works on any
allocated objects.
buffer: implement buffers using smalloc

This is a mostly working implementation of Buffers using smalloc.

Not all tests in test-buffer.js are passing, and the the benchmark
tls-connect is failing with "corrupted double-linked list".