Scroll blockly

@kadst43 Allows scrolling vertically in the blockly interface, and for screens shorter than the default blockly height, makes the interface the same height as the window.

EDIT: Trouble with the height changing is that, if a user opens the app in a smaller screen, then resizes to a larger screen, the interface will stay the same shorter height. 
There are a few hard-coded numbers in here that should be changed.
- Instead of `812`, we could use `window height * some percentage (0.9?) - (blockly footer height + blockly header height)`.
- In the above formula, `112` would be `blockly footer height + blockly header height`

Also, the window resize handler and the size initializing can be consolidated and factored out into a function.