smalloc: implement UCAlloc

UCAlloc is a quick wrapper around external memory. The caveat is the
developer needs to trigger when the data is no longer necessary. Failing
to do so will lead to a memory leak.

v8 can only SetWrapperClassId on Persistents. Which means the data won't
be viewable from a heap dump. Because of this an additional property
isUCAlloc is set so they are identifiable otherwise. Also length is
set so the developer can view how long it is.

Do NOT, repeat NEVER, take a slice of a UCAlloc.
buffer: convert UCAlloc to Buffer instance

In the case that data attached via UCAlloc needs to become a full Buffer
instance, pass the object to ucallocToBuffer.