an interface definition of an allocator, along with a simple implementation that just re-exposes the default malloc, realloc and free functions