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.
Update submodule pointer for core-graphics
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.
Use tree_in_doc on Style elem to parse its own CSS, if needed
Merge pull request #2852 from Ms2ger/MessageEvent

Implement MessageEvent.
Merge pull request #2835 from brunoabinader/bind_to_tree_fix

Added 'parent is/was in tree' param to bind_to_tree/unbind_from_tree; r=Ms2ger
Merge pull request #2845 from glennw/update-cg

Update submodule pointer for core-graphics
Changes reflecting the latest version of rust-layers

The Tile trait has been removed and TileGrid now keeps Tile structs with
Textures embedded instead of simply buffers. rust-layers now creates
its own textures instead of relying on Servo to do it.