Split files into worker and main thread pieces.
Merge pull request #3530 from brendandahl/worker-split

Split files into worker and main thread pieces.
Merge remote-tracking branch 'mozilla/master' into pushState
IE9 does not need onreadystatechange