Hero transitions between states

Instead of going straight from one state to another based on user input, the new Hero State Controller will filter the results from the InputStateMapper (nee HeroStateMediator) and decide what is best for the user (since clearly the user can't be trusted). This functions as a way to delay user actions, making the user plan ahead a bit (0.2s currently) and increase the challenge a bit.
Textures are drawn with respect to the Polygon

Instead of drawing textures as large as they were (no larger, no smaller) and disregarding the polygonal representation of objects except in collision, textures are now drawn with the same size as their polygon representation, and in the same place.
Currently, drawing does not support polygons that do not have their bottom-left corner at (0,0). This may be fixed at some point, but it's low priority.
Sword can deflect projectiles

EnemyDirector shoots bullets at the Hero periodically
EnemyDirector updates all non-player mobs
EnemyDirector uses floats instead of ints for damn near everything, as it should
Sword polygon updated (there may be problems with having duplicate points in a Polygon)
Sword getShape() had srs issues, of the "nothing collides with this" variety. Fixed by using similar logic from Hero-- get the Shape from the shapes map, update that as needed. Seems to work fine now.

It's good to be back!