Implement a stub Worker interface.

Part of #2811.
Implement stub classes for WorkerGlobalScope and DedicatedWorkerGlobalScope.

Part of #2811.
Add worker scope variants to the Global enums.
Parse the URL passed to the Worker constructor.
Spawn a thread for workers.
Add a constructor for DedicatedWorkerGlobalScope.
Load scripts in workers.
Store the JSContext in a field on the worker global scope.
Implement global.console in workers.
Support Worker globals in global_object_for_js_object.
Changes to support latest rust-layers

Now tiles are stored in TileGrid and layer methods are simple instance
methods.
Update submodule pointer for core-graphics
Respond to review comments
Merge pull request #2843 from mrobinson/tilegrid

Changes to support latest rust-layers
Temporarily disable the 'borders' test

This test has been failing locally on OS X for me for quite some time,
although since #2843 this started affecting the Travis builders as well.
Getting to the root of this problem is tracked by #2848.
Merge pull request #2849 from zwarich/disable-borders-test

Temporarily disable the 'borders' test
Implement WorkerGlobalScope.self.
Create Worker objects.
Implement MessageEvent.
Added 'parent is/was in tree' param to bind_to_tree/unbind_from_tree

According to a talk with Ms2ger, both bind_to_tree / unbind_from_tree
should be called regardless if the tree is part of a Document. This
information is now passed as a parameter to their respective virtual
methods.