fix(ext/napi): keep event loop alive while uv_async_t handle is active (#32702)
## Summary
- Add `ref_op()` in `uv_async_init` and `unref_op()` in `uv_close` to
match libuv semantics where an active `uv_async_t` handle keeps the
event loop alive until closed
- Fix `libuv_sys_lite::setup()` to run on all platforms in the test NAPI
module (was gated behind `#[cfg(windows)]`)
- Add `test-napi` subcommand to the `./x` developer CLI
- Add test verifying `uv_async_init` keeps the event loop alive without
needing a threadsafe function workaround
Closes #32614
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>