No longer cache game states
brand new black caverns level
Add application object for storing configuration information

This is only the first use of the `app` object. Asset loading, i18n,
gamesaves, and scene management are all planning on going through the
app object.
single use is now true
removed ugly hack
Merge pull request #1034 from NimbusBP1729/remove_level_hack

removed ugly hack
Merge pull request #1024 from CalebJohn/chicken-leg

Chicken legs single use
Merge pull request #1023 from hawkthorne/globalapp

Add application object for storing configuration information
Add gamesaves to the application
Add gamesaves to scene triggers

Also refactor modules as classes, which removes annoying boiler plate
Remove datastructures directory
Merge branch 'master' into black-caves
Merge branch 'master' into black-caves

Conflicts:
	src/maps/black-caverns.tmx
Merge pull request #1020 from didory123/black-caves

Brand new black caverns level
Add support for state machine mixins
Use a mixin for the scene trigger state machine
Turn the scene trigger state machine into a mixin
Merge pull request #1037 from hawkthorne/fsm_mixin

FSM mixin
Remove errant print statement
Merge pull request #1018 from hawkthorne/regenerate_levels

No longer cache game states