chore(jqLite): expose the _data lookup function to angular.element
pref($animate): group all asynchronous requests into one shared buffer
pref($animate): only trigger DOM callbacks if registered on the element being animated

BREAKING CHANGE

DOM callbacks are fired for each and every animation operation that occurs within the
$animate service provided in the ngAnimate module. This may end up slowing down an
application if 100s of elements are being inserted into the page. Therefore callbacks
are only fired if registered on the element being animated.

Both the `$animate:before` and `$animate:after` DOM events must be registered prior to the $animate
operation taking place. The `$animate:close` event can be registered anytime afterwards.