Loop the current animation if there's nothing more queued
Do not automatically loop animations

There are 0 length idle animations that break this
Rename CharState_Idle to CharState_Alive
Check the marker name before deciding what to do with it

Also, don't force 'idle' after a playgroup
Merge remote-tracking branch 'zini/master' into animation2
Rename CharState_Alive back to CharState_Idle
Allow specifying the accumulation for animations

Animations that move a character may do so either visually or physically. An
axis' accumuluation value specifies whether the movement is visual (0) or
physical (1). Idle animations, for instance, typically don't physically move a
character, while death animations may physically move them along the X and Y
planes, but not along Z (the vertical movement is purely visual).
Pass the key time to markerEvent
Loop the current animation when not dead

This should be better, but it's not perfect. It misses the case where
start < loop start == loop stop <= stop
Use a SpecialIdle state for PlayGroup/LoopGroup invoked animations

Note that actors will *not* automatically resume a normal idle state afterward.
Their AI will need to control what to do when the special idle is finished.
Store the movement vector in the character controller
Return the movement vector from runAnimation
Return the animation movement from the character controller.

Consequently, dead actors don't move anymore. The doPhysics call apparently
isn't moving them.
Ensure the direction vector is initialized and copied properly
Implement WalkForward and WalkBack character states
Scale animation speed using the direction length

The direction length doesn't currently give a good speed, but it's something.
Add a looping property to handle if an animation should loop
- Add support for multiple plugins trying to modify the same reference
- Fix a small signed/unsigned warning
Use a list to store and get state information
Don't reset the animation when setting the same state

Unless looping is being toggled on.