The Great Web Worker Refactor of 2014

Using this branch to sync internally with FB, still needs polish and to be split up into multiple diffs.