smalloc: implement ThinBuffer

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