added TouchImageView class, zooming works (though it feels a bit slow), panning only works if the moment isn't too close to horizontal