Encode/decode arbitrary files using the PNG file format