Move image properties into its own class
Close the application if no image is to be loaded
Correct image zoom calculation
Application 'quit on failed load' will be handled by the thread
Load in first image async