BUGFIX: Infinitely small motion on an axis after repeated key release;
read more

I've patched this issue by setting motion's elements to
CHARACTER_WALKING_SPEED or negative CHARACTER_WALKING_SPEED if they're
above or below zero, respectively.