zooming panning etc. all implemented thanks to touchimageview