Smooth window scrolling with requestAnimationFrame and the Tween component