Prevent `activeAnimations` from being mutated during enumeration
Prevent `activeAnimations` from being mutated during enumeration

If you cancelled an animation while the `tickActiveAnimations` method
was enumerating over the `activeAnimations`, it was possible to cause
the `activeAnimations` mutable dictionary to be mutated while it was
being enumerated. This causes an exception to be raised which results
in a crash.

Fixed by making the activeAnimations of type NSDictionary, so that it
cannot be mutated directly. Instead, we first copy, then mutate, then
assign the new version of the dictionary to this property.

Fixes #3
Thanks @Naxum for reporting this!

DZNS/AnimationEngine,quyixia/AnimationEngine,msdgwzhy6/AnimationEngine,intuit/AnimationEngine,intuit/AnimationEngine,DZNS/AnimationEngine,msdgwzhy6/AnimationEngine,msdgwzhy6/AnimationEngine,DZNS/AnimationEngine,quyixia/AnimationEngine,quyixia/AnimationEngine