Movement command, Animation State

Addresses #6 
Everything works as far as I can tell, but I expect the style will need tons of fixing, since I'm new to javascript. I don't mind making lots of changes, so go ahead and tear this apart.
In addition to the MovementCommand and AnimationState classes, It made sense to me to make a Coordinate struct that represents coordinate pairs ({x: __, y: __}). Of course, we didn't specifically talk about that in the original plans, so I can remove it if you don't like it. 
These will not be able to be accessed, of course. We define them in the constructor and then set them to values, but they immediately go out of scope when the constructor ends. We should define them as `this.startX`, etc instead: when a function that is part of `MovementCommand.prototype` is executed, `this` will be the current instance of the `MovementCommand`, so we'll be able to access these values with `this.startX` after setting them in the constructor.