Change save_file() to save_as_png()
Not sure how I could have possibly thought that was a good name...
Add extraction functionality.
This finally adds the ability to get files back out of the pngs. It is a bit
buggy though, since right now it uses the white EOF pixel to determine the
end. This means that if a file's size isn't perfectly divisible by the size of
a pixel, there will be some garbage data at the end of the extracted file.
Another potential issue is if extracting any data containing 0xFFFFFFFF, the
save function will interpret it as the EOF. The solution I plan to implement
is to get rid of the EOF pixel, and instead make the last pixel in the bitmap
contain the size of the file.