Remove `AllocLHeap`. (#33402)
* The main difference of `AllocLHeap` is that it uses per-heap acontext instead of per-thread. There is no advantage in that and results in allocations under-reported in `GetAllocatedBytesForCurrentThread`
This change unifies to one allocation entry point - `Alloc` (and its `AllocAlign8` variety)
* Removed AllocAlign8
* PR feedback - some refactoring to merge duplicate calls to `Alloc`
* Splited an `ifdef/else` in two to not cross code blocks.
* No need to update `GC_INTERFACE_MAJOR_VERSION` more than once per release. And we already did for this one.