Optimize parallax with requestAnimationFrame