fix($animate): ensure chained leave animations never get called twice

Closes #5278