Memory is usually created by allocators with a alloc method call.
When null is used as the allocator, the default allocator will be used.
New allocators can be registered with register. Allocators are identified
by name and can be retrieved with find.
set_default can be used to change the default allocator.
New memory can be created with new_wrapped that wraps the memory
allocated elsewhere.