A streaming PNG encoder and decoder