Create two classes to support both CDC and FTDI devices.

Super object at UsbConnection has the factory to generate the correct usb object.