[WIP] Buffer

This implements two kinds of buffers meant for use in arbitrary C++ functions. The first is an aux_buffer, which is meant to be storage accessible by an element. The second is thread_aux_buffer, which is storage on a per thread basis.