use offset when animating transform to avoid dividing by zero
working zoomPanTo implementation