libusb on Windows is limited to only a single context. Trying to open more than one can cause device enumerations to fail randomly. libusb is thread-safe and we don't use the manual polling support (with `poll()`) so this should be safe.
This adds a USB passthrough setting to ConfigManager and everything needed for the UI to show and manage the whitelist properly.