Attempt at zoom.translateExtent.

Doesn’t work correctly because the translateExtent may need to be dependent on
scale, or the zoom behavior may need to know the visible area. Related #1084.