Use requestAnimationFrame and CSS 2d transforms if available