Refactor out base code from compiled Blockly apps.

Experimental branch to test out a technique for factoring out base JavaScript code from our various compiled Blockly apps.

Benefits:
- Smaller client-side download size (because the same base code is cached in the browser and reused across all apps)
- Much faster Blockly compilation (since the base code bundle is only resolved and minified once, rather than separately for each app)