libbladeRF: [WIP] Refactored open code

Moving logic out of (libusb) backend and up into top-level, where
possible, and the USB middle layer when possible.