A custom ImageView for Android with pinch to zoom and subsampled tiles to support large images