Fixed player sprite animation issue

If the user's computer is fast enough, there will obviously be frames
where the player is attempting to move but hasn't yet. However, we
didn't differentiate between this scenario and the scenario where the
player character was attempting to move and failed (e.g. walking into a
wall), and so in both cases we did the same thing: reset the player
character to be standing still and turn off the walking animation. The
player sprite shouldn't be considered holding still if it's supposed to
move but hasn't yet had time to.

This change ensures that, in frames where movement is requested but no
actual distance would be traversed, that we don't actually reset the
sprite to the standing frame. We differentiate this from the state where
distance would be traversed, but the entity grid registers a collision,
in which case we still reset the animation as before.