Adds support for web workers

This adds initial support for Web Workers; at least to add basic
modules. Not as much work as you would think, most places where it
checks if we are in a browser will work in a Worker as well. Fixes #201
Merge pull request #202 from matthewp/web-workers

Adds support for web workers