Refine navigator.serviceWorker.ready algorithm; it's now resolves only with an active worker