Also react on `transitionEnd` event

This simply makes AnimationUtils also listen to the `transitionEnd` event. This future proofs the module by supporting the non-WebKit prefixed property.
@le717 It's not CSS, it's just a list of DOM event names and the listener always gets attached to all of them.  So if the browser supports both events, it will fire both, and our listener will be run twice.

For the comment, I'd suggest tweaking it to something like this:

```
        // This may run multiple times since we listen to both modern & webkit events,
        // but that's OK because resolve() tolerates redundant calls.
```