chore(core): introduce a wrapper for requestAnimationFrame