Add missing USB flags in mxt-app build
Add retries to libusb_open

On some hardware, we have seen that trying to open the device immediately
after enumeration results in a temporary libusb error. Retrying the open then
succeeds which improves reliability.

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Improve handling of USB enumeration on reset

The old logic assumed that the device would re-enumerate either at the same
address or the maximum device address on the bus plus one. This logic didn't
handle the case where the device address reached 127 and wrapped.

Instead, build a list of which addresses on the bus are maxtouch devices,
which allows us to detect the new one that has arrived.

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Add debug of usb transfer failures
Always build in libusb_error_name for portability

libusb_error_name() was added in libusb 1.0.9. However, mxt-app may be used on
systems which have versions prior to that.

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>