This is an umbrella bug to collect all async suspend hacks we have in the runtime that should go away once we move to coop suspend only. Note that signals will remain in place for usage by the profiler so the async unwinder must not go.
- mono_valloc uses critical sections and syscalls. Neither are needed with coop.
We cam also remove the following:
- CRITICAL_REGION in sgen-alloc.c
- metadata/sgen-os-(posix|win32|mach).c + simplify sgen-stw to only use unified suspend