Create a cache for the high-quality scaled image of the currently viewport and use it to override the default paintEvent() of QGraphicsView as needed.
This improves the image quality a lot when we scale down large photos.
Limit the size of pixmap cache.
Avoid copying subimages to speed up scaling images.
Merge branch 'custom_view'

Conflicts:
	src/imageview.cpp
	src/imageview.h