Move player logic into its own entity file

This still needs some work to restore the animation as the player hops
around the map.