Expand the range of errors reported by libusb_open.
Currently, libusb_open reports LIBUSB_SUCCESS and LIBUSB_ERROR_NO_MEM. The latter is, in most cases, misleading. A failure is more likely to be permissions or a device that is in use elsewhere. Conveying the issue to the client software, and ultimately to the user gives the user the opportunity to better diagnose and remedy the problem.