refactoring, fixed bug

The zoom code was using the rescaled, lower resolution version of the
image. For larger resolution images, this results in a large loss of
quality during the zoom. I'll fix the code in the alternative zoom
later, as well.