safepoint: Wake the event loop when a GC worker stops the world (#63763)
`jl_gc_wait_for_the_world` skipped waking libuv when there is only one
thread, assuming the caller is that thread. Under MMTk the world is
stopped from a GC worker; since mmtk/mmtk-core#1550, ConcurrentImmix's
final-mark pause is requested by the last worker to park once
concurrent marking drains. A lone mutator idle in `uv_run` (GC-unsafe)
then never reaches the safepoint until some unrelated event wakes it.
In the `^C in the REPL (pty)` test this deadlocks: the REPL sleeps in
the event loop, the pause waits for it, and the signal listener waits
for the pause to end before it can deliver the wakeup for ^C. Since
JuliaLang/julia#63711 shifted GC timing, this hit about half of the
`mmtkconcurrent` runs at test/cancellation.jl:2625.
Skip the wakeup only when the caller is itself the sole mutator.
Assisted-by: Claude Code (Opus 5.5)