A possible solution mentioned on the IRC channel (by Jonny I think) is to render an area of the map, unzoomed, using the working view, to a render texture. Then you can zoom in/out on the rendered area and draw it to the window using a sprite or a single quad via vertex array.