ServiceWorker: Enqueue state change events until the worker thread gets ready
This CL supports the step 3 described in the design doc:
https://docs.google.com/document/d/1qDGbMlwKOXxCRBlw9IirK8Qmna3JqvnO3Aogkfu9UJQ/edit?usp=sharing
Queued events are flushed out when the worker thread gets ready and
the provider host is notified of the thread id.
BUG=437677
TEST=https://codereview.chromium.org/
861743002/
Review URL: https://codereview.chromium.org/
855383006
Cr-Commit-Position: refs/heads/master@{#313512}