Split out rendering code for projectiles.
Switch all base constructor calls to use goog.base.
Factor out common Bomb and Bullet code into Projectile.
Merge branch 'master' into decouple-gfx
Split out rendering code for players.
Eliminate LocalPlayer's dependency on Camera.
Eliminate Player's dependency on ResourceManager and EffectIndex.
Clean up Camera code a little bit.
Clean up HudLayer to not reach into Player's private members.
Merge branch 'master' into decouple-gfx

Conflicts:
	js/entities/Player.js
	js/entities/RemotePlayer.js
	js/views/Game.js
Clean up code mostly in the Player class.
Minor cleanup of calls to update() methods.
Add a model object factory to eliminate dependency on graphics code from model objects.
Merge branch 'master' into decouple-gfx
Create a ModelObject interface to manage and update objects' lifecycle.
Add an invalidate method to dispose of model objects.
Call advanceTime instead of update on projectiles.
Update Player to implement ModelObject.
Push down implementation of the ModelObject interface to Entity.
Eliminate isAlive for projectiles and exhaust as it's been superseded by ModelObject.isValid.
Effects now implement ModelObject.