Ejemplo de animación con requestAnimationFrame()

Haz clic en el canvas para parar o reiniciar la animación