AnimationState C# events subscription

Using the "event" keyword DOESN'T require the use of EventArgs derived classes as part of the method signature.

Events provide a (standard) layer of safety by preventing the nulling or complete reassignment.
It restricts external class interaction with the event to subscription with the += operator and unsubscription with the -= operator. This prevents unrelated objects from accidentally unsubscribing other objects from the event.

The null check is still required though.

For people who followed the examples, worked with the original events and only used += to subscribe to events, this change shouldn't affect client code at all.
Merge pull request #177 from pharan/patch-6

AnimationState C# events subscription