Forward-declare libusb structures so files that include BulkController do not require libusb.
Add ControllerVisitor for determining the true type of controllers without dynamic_cast.