Support non jpg files

This PR adds rudimentary support for PNG, GIF, and BMP files. Since those files don't have EXIF data, that part has been ignored for those files.