Fix for #3 to improve the zooming algorithm and integrate it with the zoom controls.