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.