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. 
Should be `@return` not `@returns`. You can actually use either one, but since I already used `@return` in the `ApplicationController` code we should keep it consistent. I can change the ApplicationController stuff if you give me a good argument as to why to use one over the other though!