chore(core): introduce a wrapper for requestAnimationFrame
chore(core): create a wrapper to manage async callbacks
perf($animate): use rAF instead of timeouts to issue animation callbacks