add drag start callback
use requestAnimationFrame for animating if available
immediatly animate after new value is set