The Great Web Worker Refactor of April 2014

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