It took a lot of work to get web workers to work, but web workers finally work!
`transferList` doesn't seem to work, though. It makes the object
inaccessible as expected, but it doesn't seem to affect performance.
If the code is loaded via AMD/requirejs:
- we call define() instead of exporting 'lime' globally
- we disable AMD while the embedded libraries are loading, so that they
register themselves in the global scope.