Added `__createButtonAddEventHandler()` generic method in game-view.js
Finished private method tests for game-view.js
Slight refactoring of solitaire-webapp.js
Renamed the main JS file from 'solitaire-webapp.js'to 'card-game-app.js'.
Updated the Gruntfile to output the concat destination to 'card-game-app.js'
Updated Gruntfile to specify plugin files concat before the 'card-game-app.js' file
Updated all unit-test HTML files, plus the dev and prod HTML files, to refer to new compiled 'card-game-app.js' file instead of 'solitaire-webapp.js'
Renamed the GameView class and file to AppView
Renamed the PluginView class and file to GameView
Updated references to classes in related classes and unit test files
Renamed `_pluginCanvas` to `_gameViewCanvas` to better reflect object type naming in app-view.js and app-view-tests.js
Added algorithm to create stack model based on specified layout design in game-rules.js
- Plugin programmer specifies the layout with required options for each stack, the `GameRules.__createStackModel()` method does the rest
Updated event types and unit tests for game view events
Fixed a bug in game-view.js that was referencing the wrong variable
Set `GameView.__createLayoutFromSpecs()` to use the new model layout rules; and to return a single `div` with the rows as children, instead of just the rows
Added code to add/remove game view event listeners
Added basic code to start a new game when the user selects the correct button