Starting to add pause menus
Added pausing via menus - issue #11

Added cacheState and restoreState to allow for saving state data between menus.
Moved pause screen from main.js to states.js
Added constructor names for debugging
Updated focus/blur handling to use pause menus
Added logging wrapper, support for stack traces

BPM signature on logs/warnings added too