added object for scheduling functions, added throttling with requestAnimationFrame
two throttle variants
use requestAnimationFrame or setInterval for animation loop