Pass the script channel to DedicatedWorkerGlobalScope::run_worker_scope rather than creating it there.

This allows us to create the Worker object before calling
DedicatedWorkerGlobalScope::run_worker_scope, which is necessary to pass a
pointer to the worker to it.
Store a pointer to the Worker in the DedicatedWorkerGlobalScope.
Implement DedicatedWorkerGlobalScope.postMessage.
Distinguish the sender to the own thread and to the parent thread in DedicatedWorkerGlobalScope.

The WorkerGlobalScope stores a reference to the sender for the own thread, to
allow passing clones to sub-workers. The DedicatedWorkerGlobalScope
additionally keeps a reference to the sender for the (unique) parent thread,
to implement postMessage and memory management of the Worker object.
Merge pull request #3076 from Ms2ger/DWGS-postMessage

Implement DedicatedWorkerGlobalScope.postMessage; r=Manishearth
Implement {Worker,DedicatedWorkerGlobalScope}.onmessage.
Merge pull request #3077 from Ms2ger/onmessage

Implement {Worker,DedicatedWorkerGlobalScope}.onmessage; r=abinader+Manishearth
Enable some workers tests.
Disable Worker_terminate_event_queue.htm for its thousands of lines of output.
Update expected results in non-debug builds.
Merge pull request #3079 from Ms2ger/tests-workers-2

Enable some workers tests; r=jgraham
Return the empty string as appropriate for location.{search,hash}.
Improve error message for when web fonts fail to load.
Merge pull request #3083 from glennw/font-cache-error

Improve error message for when web fonts fail to load.
Merge pull request #3081 from Ms2ger/location-empty

Return the empty string as appropriate for location.{search,hash}; r=Manishearth
node.textContent and node.nodeValue should not throw
Merge pull request #3087 from Manishearth/node-textcontent-throws

node.textContent and node.nodeValue should not throw; r=Ms2ger
Implement cached Document.Links
Added tests for Document's Link cache
Removed comment as issue #1847 is now fixed.