Migrate to getopt_long, improve exception class, update lodepng png encoder, add combo image, cmake configuration cleanup.