Updated procedure spec editor label font to match block label font
Added a default implementation for the username block when offline
Abstracted ExternalInterface

Added abstract methods for ExternalInterface features.
Refactored code to work with callbacks instead of expecting externalCall
to return a value directly.
Note that this change will break both the online and offline editor
until corresponding changes on those repositories.
Merge branch 'master' into abstract_external_interface
Treat offline extension reporters as requesters

Since StageWebViewBridge calls can't return values directly, extension
reporters must all be treated as requesters. This change adds a
"forcedRequester" flag to do so.
Note that there is at least one case where a block can be duplicated and
the forcedRequester flag will be dropped. This must be fixed if we
continue to use this method.
Merge branch 'bubble_hide_fix' into abstract_external_interface
Removed two unnecessary trace() calls
Use block spec for forcing requesters

In the offline editor, we need to force extension reporters to act as requesters. The previous method of doing so was unreliable because it didn't cover some paths through which blocks can be cloned and recreated; some of those paths didn't have enough information to know that the block they being handled is an extension reporter. This new method modifies the block spec on extension load, so it affects any block created through any path.
Changes to link to design principles of scratch, set limits on new features.
Merge branch 'master' into abstract_external_interface

Conflicts:
	src/blocks/Block.as
	src/extensions/ExtensionManager.as
	src/scratch/ScratchRuntime.as
Merge branch 'master' into abstract_external_interface
No longer allowing the proxied mouse-down event to continue propagating. For some reason the stageX/Y values changed after I redispatched it.
Merge branch 'master' into abstract_external_interface
Call into Scratch.app for JS URL fixup

Previously, ScratchExtension was using the File class to fixup JS extensions' URLs. This only compiles for Air apps, so that code had to move into the non-shared ScratchOffline repository. ScratchExtension now supplies the unmodified URL and allows ExtensionManager to call into Scratch.app to make the fixup. By default the fixup method does nothing, which is what the online editor wants, but ScratchOffline overrides the method to make the changes needed in offline mode.
Merge pull request #182 from nathan/procedure-editor-font

Update procedure spec editor label font to match block label font
Fix a typo in translation.TranslatableStrings
Fix IllegalOperationError when running scratch-flash
Merge pull request #185 from nathan/implement-username-offline

Added a default implementation for the username block when offline
Merge pull request #390 from LLK/illegal

Fix IllegalOperationError when running scratch-flash
Merge pull request #299 from LLK/readmeEdits

Changes to link to design principles of scratch, explain about PRs for new features