Page based heap size heuristics (#50144)
This PR implements GC heuristics based on the amount of pages allocated
instead of live objects like was done before.
The heuristic for new heap target is based on
https://dl.acm.org/doi/10.1145/3563323 (in summary it argues that the
heap target should have square root behaviour).
From my testing this fixes
https://github.com/JuliaLang/julia/issues/49545 and
https://github.com/JuliaLang/julia/issues/49761