Changed communication between model and view; combat system.

- EntitySprites no longer poll the model for its state, so rendering is
faster
- Many Components now register changes to their state and push Events
- EntitySprites catch Events and update their internal sprite
- Basic combat now works
- Added hacky Audio to have gunshots