This allocator uses Lua userdatas for dynamic allocation that is automatically freed when the current scope exits.