Move allocation to an internal function and make every allocation go through this function.
This will be required for next feature
When allocating a new block, save caller address for later use
Force gc::GarbageCollector::AllocateWithTagInt() not to be inlined