Add blockly modal function editor

Goals:
1. Hide function definition when not being edited
2. Improve discoverability of parameters
3. Improve discoverability of creation
4. Improve discoverability of edit

This change builds on the following WIP review:
[#244 [WIP for review] Support multiple top-level SVG Workspaces and Toolboxes](https://github.com/code-dot-org/code-dot-org/pull/244)

![screen shot 2014-11-03 at 4 10 51 pm](https://cloud.githubusercontent.com/assets/413693/4892812/70b6b96e-63b7-11e4-82ed-5790da63450a.png)
I should mention, we actually don't currently move active block objects across BlockSpaces anywhere anymore (instead we serialize, delete, and deserialize the block, but disable usage deletion during the process), so the handle reference could potentially be removed.