Use requestAnimationFrame for redraws.