We wrap unique_ptr and shared_ptr for SDL simd allocation. Might as well provide an allocator and a memory_resource.