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
Prevent deleting or editing list items in player mode
Increase precision of formatted sound duration to hundredths
Merge branch 'master' into abstract_external_interface
Keep zoom and scroll when switching costumes in the image editor
Send key press events for scroll wheel like Scratch 1.4
Save scripts and update palette when undeleting a block or comment
Fix watcher not updating to reflect certain changes
Allow only one HTTP poll at a time per extension

Without this change, long-running poll requests (such as those resulting in a timeout) can cause arbitrarily long request queues, eventually leading to spontaneous termination of the application.
Comment formatting tweak
Prevent copying procedure declaration blocks