perf($animate): use rAF instead of timeouts to issue animation callbacks