Dynoxide 0.9.8: fixing the orphan problem

Dynoxide 0.9.8 fixes a bug where backgrounding dynoxide in an npm script left it running after the parent process exited. The port stayed bound, and the next npm run dev failed with a port conflict. There were three separate causes. The Rust server ignored SIGTERM kill <pid> sends SIGTERM by default, but Dynoxide only handled SIGINT (Ctrl+C). The fix is a tokio::select! between ctrl_c() and a…