Better zooming and bounded panning