Hybrid suspend and checked build fixes (async signal safety) (#8269)
* [threads] Have Hybrid Suspend not depend on Coop Suspend
* [threads] Enable CI
* [hybrid suspend] Wait for pending operations when suspending a blocking thread
In hybrid suspend we should wait for the pending suspend to finish when we're
suspending a blocking thread.
In full cooperative suspend, we treat blocking threads as already suspended, so
in that case there is nothing to wait for.
* [checked-build] don't use malloc for thread state history
Use a ring buffer, so we're signal safe.
* [checked-build] checked_build_thread_transition - async signal safe variant
Can't call backtrace on Linux from a signal handler.
Change mono_threads_transition_finish_async_suspend not to collect a
backtrace.