Moved the load file code to a separate function and expose it.
Added patterns to test loading.
Pass the patternfile parameter directly into the loadFile method, and added a selectmenu for three test patterns.
The selectmenu actually needsto be hooked into something to work.
The method is called 'change', not 'onchange'
Changed the way the Square ctor checks the type of its first argument,
Added a clearBlocks function.
The correct parameters for the each callback are (value, key) and not (key, value).
Goddamn it.
Silly oopsie in pattern3.json.
JSON files can't have comments in them.
Differentiate between being passed no parameter to loadFile and being passed a non-existent file (or an empty string).
pattern1.json isn't symmetrical, as if it has to be.
options.patternfile parameter can't be or-ed with the current options.patternfile value.
loadFile was treating the empty string as a filename.