Delay initiating layout operations for as long as possible.
Make test_wpt params optional

Fixes an exception in `mach test`.
Add unrooted_must_root lint for enums and structs containing JS<T>, as well as functions with JS<T> in their parameter list

For safe wrappers over JS<T> (eg Temporary<T>) use #[allow(unrooted_must_root)].
For all other types containing a #[must_root] value, annotate the type with #[must_root] to ensure that it is never used unrooted
Add unrooted_must_root lint for usages of JS<T> in let/for bindings
Unwrap pointers and miscellany for unrooted_must_root check
Address review comments
Make Reflector #[must_root], propagate to non-HTMLElements
Use #[must_root] for HTMLElements
Fix for issue #3238

Moved the Atob and Btoa methods ouside the impl for WorkerMethod trait
and made them publicly accessible from WorkerGlobalScopeMethods via
proxy methods.
Merge pull request #3374 from Manishearth/lint_unrooted_jsmanaged

Add lint for ensuring proper rooting of JS<T>; r=jdm
build: Update string-cache to fix a nasty race
Merge pull request #3376 from pcwalton/string-cache-race

build: Update string-cache to fix a nasty race
Update string-cache for real
Merge pull request #3392 from pcwalton/string-cache-race

Update string-cache for real
Merge pull request #3387 from prasoon2211/base64_methods_for_worker

Implement atob and btoa methods for worker
Reenable the second wpt chunk.
script: Use atom comparison in more places, especially for attributes.

75% improvement in style recalc for Guardians of the Galaxy.
Merge pull request #3316 from pcwalton/use-atoms

script: Use atom comparison in more places, especially for attributes.
Fix doctest errors in rustdoc comments

Mostly this disables doctest for comments that are not actually tests.
Update style unit tests to use atoms

Fixes test bustage from #3316.