handle LIBUSB_ERROR_NOT_FOUND from libusb_reset_device

It is possible (and indeed on my controller certain) that
libusb_reset_device may return LIBUSB_ERROR_NOT_FOUND under certain
circumstances outlined in the libusb documentation. In such cases we
should re-start device enumeration and re-open the device without
attempting reset.