An animation loop designed to avoid requestAnimationFrame collisions between different components