Make proxy bindings generate trace and finalization hooks.
auto merge of #998 : jdm/servo/tracehook, r=metajack

Needs https://github.com/mozilla-servo/rust-mozjs/pull/38 and https://github.com/mozilla-servo/mozjs/pull/6. Fixes #819. Fixes #962.
Run script in its own thread to avoid starving other tasks
auto merge of #1002 : brson/servo/scriptthread, r=jdm

This appears to fix the problem with the Rust logo stopping during the demo.

Though this is the right way to spawn a SpiderMonkey thread, I'm not entirely sure why this fixes the problem in all scenarios. With enough threads (i.e. `RUST_THREADS=32`), and running with some Rust patches that are available on master (which I applied during testing), I would expect work stealing to not allow starvation here. In my tests though I see the problem even with lots of threads, so this may yet indicate a scheduler bug. Still, SpiderMonkey should get its own thread.