refactored crossfader to use roquestAnimation
roquestAnimation can now handle length based animations by itself, without a return value from the animFunc