Implement GC.RegisterMemoryLoadChangeNotification (dotnet/coreclr#24202)
* Implement GC.RegisterMemoryLoadChangeNotification
This allows users to register a callback to be called whenever the
memory load is between a low and high thresholds. The idea is to allow
them to tweak their memory usage based on the available memory.
It is only internal for now because we are not confident on the shape of
the API and if it's the best we can provide users. This needs to go
through a few iterations with first party users like ASP.NET or corefx.
WIP for https://github.com/dotnet/coreclr/issues/18619
* fixup! Implement GC.RegisterMemoryLoadChangeNotification
* fixup! Implement GC.RegisterMemoryLoadChangeNotification
* fixup! Implement GC.RegisterMemoryLoadChangeNotification
Commit migrated from https://github.com/dotnet/coreclr/commit/
cc83b8f9b1961619c89d7c2413ae171e49df5e59