{Broken} Almost Implemented Player

I'm typically against committing code that {doesn't compile}, but I need
to take a moment to step back and breathe.

What I've done so far:
* Added #ifndef and #endif to each header file to combat circular
imports
{*} Added a {broken} Player class
{*} {Attempted} to migrate key events to the Player class
* Added Entity::accelerate(velocity)
* Added an EntityMover to specifically act as a command to move an
Entity (fantastic for implementing fancy enemy movements & formations in
the future)

Knowledge Gaps:
* I haven't been convinced yet that a player class is necessary.
* I'm really unsure of which headers should #include which
* I haven't been convinced yet that derivedAction() is necessary to
avoid giving commands to non-Entities (though I can see how it would
help).