Added async and state machine deps - note that game is currently broken due to changes
Fixed FSM interaction; game will now play albeit slowly.
Game Instance and Client now have slightly better comms abstraction.

* Game Instance uses Players.sendMessage() augment to send message to clients
* Game Client doesn't need a copy of the game instance (EXCEPT for the event queue - to be fixed later)
Implemented ready/start game lifecycle events.

* Game Instance pushes state down to Player; waits for a 'ready' msg from Players
* When 'ready' received, pushes a 'start' message to Players; game starts
* Client side starts up when start message received from server.
Moved 'Domain' classes to separate file.

(Domain = Hero, Player, Party)
Deps list & .gitignore updated
Using PreloadJS for asset loading to prevent Canvas img corruption/timing issues.
Moved Game over conditions into separate function in prep. for dynamic definition of Game Over conditions & inclusion into the game state machine
Game Over now part of Instance FSM.  Also added support for multiple game over conditions (fulfilling any will trigger a game over)
Game Instance now waits for all Players to say 'ready' before starting the game.

* implmented using _.after(), waiting number of replies == number of Players
* As a consequence, had to add a rudimentary message responder in the enemy player's messaging function
Spun out a skeleton implementation for a "CPU Game Client" which will act for AI controlled players.
CPU Player now runs the attack AI (moved from View)

* Moved hacky human player View-driven AI to its proper location in the CPU Player Client.  It's still dumb, but at least it's in the right spot!
Pause/Resume mechanic added

Note that this currently just stops the clocks; it doesn't prevent further activity from taking place.

TODO:

* handle pausing queues (queue actions), then on resume, play catch up.
* freeze the view to prevent submitting actions on pause (other than a resume action)
Game Instance now uses a dispatcher for event processing.
Game Instance class and supporting methods moved to separate file
GameEvent (client-server message format) moved to own file; also enumerated event types.
Added test folder and a few GameInstance tests
EventQueue now supoorts buffering and multi-shift; GameInstance has been updated accordingly
EventQueue now uses push.apply instead of concats.
Made GameInstance event queue processing methods *synchronous* to force serialized behaviour.  Since events can arrive while a prior entries are being processed, we don't want these to jump ahead of the processing order.