added requestAnimationFrame polyfill