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.
Convert element name to be stored as atom instead of string.
Implement WorkerGlobalScope.self.
Move timer firing implemention into Window #1992
Create Worker objects.
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.
Fix comments and variable names for atom wrapper.
Merge pull request #2856 from mrobinson/tile-cleanup

Changes reflecting the latest version of rust-layers
Rename Scene constructor to Scene::new
Merge pull request #2858 from zwarich/scene-new

Rename Scene constructor to Scene::new
Partial fix for footer layout issues on wikipedia, ref #2554.