reallocate_resource —
allocate a slot in the resource tree given range & alignment. The resource will be relocated if the new size cannot be reallocated in the current location.
lookup_resource —
find an existing resource by a resource start address
allocate_resource —
allocate empty slot in the resource tree given range & alignment. The resource will be reallocated with a new size if it was already allocated