Use requestAnimationFrame instead of setTimeout throttle if supported, #242