Add slab_allocator and update other two allocators

Don't store memory inside the allocator unless we have to.