an example stack allocator

though it's c++11, and missing a lot of c++03 compatibility stuff. also
it defaults to the heap at some point