The libusb_get_port_number() call was added in libusbx 1.0.12.
libusbx 1.0.13 added a macro to detect what version of libusb was in use.
So key off that macro's presence; otherwise we don't know at build time.
* Factor out command-response sequence into a separate function
* Stop using lookup tables for text fields in favor of switch statements
* Add full status/error field decoding (not counting "printer error" fields
* Fix order of bankX status fields
* Simplify state machine, fixing major bugs in the process
* Improved status and error logging considerably
* Other bugfixes
There's still finiky USB handshaking going on at times; the printer just
times out on responses. Haven't figured out why still.