Service Workers are uniquely dangerous: once installed they intercept all
fetches from their scope and can relay them to external servers without the page's
knowledge. These tests cover registration (is the SW script fetch blocked?),
post-install fetch relay (can a SW make external requests from its install event?),
cache storage (can cached external content be replayed after the SW is installed?),
and background sync (can a SW POST to external on reconnect?).
Because SW lifecycle is async, each test installs a temporary SW, waits for it to
activate, runs the probe via a MessageChannel, then unregisters. A cleanup function
ensures no SW is left registered after the test page navigates away.