Long story short, Library was sending rows in the wrong order, but to
fix this, the row data needed to be reversed so the images weren't
Library given an extension (and API bump) to allow it to swap if
necessary. Backend tells library to swap unless Gutenprint is feeding
data in that is in the correct order.
For Gutenprint 5.2.12, this code will reverse the data. Future
Gutenprint releases will do the right thing so no swapping is needed.
* Needs to switch between two different CPC files based on image
* Split out K60/D70/D80 processing into their own functions
* Rewind handled differently on K60 vs D80
* Library needed an API bump to accomodate this
* Lots of further library cleanups (no functional change)