Backport fix for zoom animation freeze in #2521 to stable

Backports ```L.Util.requestAnimFrame``` from master to stable, and uses it to prevent race condition when a zoom animation is triggered.

The provided test case hangs without the fix, and does not with it.