Separate movement and idle states

This allows us to better handle cases of "missing" animations. Mainly for
first-person, but also for spells and certain weapon types.
Track death separately in the character controller
Store a pointer to the character controller for non-actor objects
Add a speed multiplier to the animation state
Specify the velocity-based animation speed multiplier when playing it
Merge remote-tracking branch 'zini/master' into animation-state