Moved majority of state switching code into states.js

Also renamed current to global.
More quest planning.
Quests

Added money to bpm.player
Used old way of managing Town, Smith, and Wizard menus. This works much nicer now that states destroy/init at the frame start.
Added skip day button if quest is complete.
Comment
Added 'updateObjective' to quests.js

This simplifies updating objective status. And keeps more details in quests.js
Added to story - redid quests in story
Moved quests into JSON format.
Added day counter to bpm.player
Cleaned up Field
Typo
Improved GetCollisions speed. Closes #25
Passed ID to quest instances.
Round completes when all bubbles are destroyed.
Quests can now specify a custom day length.
Quests can specify an XP bonus based on time completion.
Removed unnecessary error handling. This already is handled on quest creation and also handled correctly.
Fixed objective.complete function.
Added 'popBubbles' objective to quests.