Merge pull request #15191 from leanprover/sofia/libuv-timer-signal-fixes

fix: make timers and signals safe against re-entrant continuations and lost signals