Fix block loading

This fixes the issue of the blockly toolbox not updating properly. I verified that it works when #303 is rebased on top of this. This also allows us to create blockly nodes at startup and restrict their tabs to only be displayed in certain scenarios. When #302 is merged in, we can clear the tab list between scenarios by adding `clearBlocklyTabs` to the `resetHUDState` event handler so that the graph tab won't be available when jumping back from scenario 2 or 3 to scenario 1.

Fortunately, I didn't need to modify the blockly driver, so this should be all set.

@kadst43 @AmbientOSX