Improve snapshot storage system for easy bisection. Fix #2694. Fix #2851.
Move the code to start the worker into DedicatedWorkerGlobalScope::run_worker_scope.

This is somewhat cleaner than keeping it all in the Worker constructor.
Inline DedicatedWorkerGlobalScope::init.

This was an unnecessary abstraction.
Store the ResourceTask on the WorkerGlobalScope.

This is necessary to load dependent resources, such as through new Worker(),
importScripts, XHR, ...
Implement a resource_task getter on GlobalRef.

This is needed to fetch resources on all threads.
Store the worker's URL in the WorkerGlobalScope.

This will be necessary to resolve relative URLs in the worker.
Store the ScriptChan in the WorkerGlobalScope.

This is necessary to make XMLHttpRequest and postMessage work.
Merge pull request #2861 from Ms2ger/xhr-worker

Support XMLHttpRequest in workers: r=larsbergstrom
MessageEvent::dispatch.
Worker.postMessage.
DedicatedWorkerGlobalScope.postMessage.

NOTE: not memory-safe.