I needed a zoomable image view in SwiftUI that allows user to pan and zoom the image with useful constraints like:
- snap back zoom in beyond 3x
- snap back zoom out beyond entire image is visible
- snap back pan beyond image bounds.
TODO:
- Add rotation support