Starts with a simple program reading a single image
Factors out the png encoder in a separate class
Improves syntax and error handling
Factored out the file decoding
Adds hotspot metadata to output files