Move all WINUSB-dependent functionality into AdbWinUsbApi.dll in order to
enable ADB on condition that WINUSB has not been installed.
In this patch set new file (adb_winusb_api.h) has been added where I moved
typedef that broke the build. Aso, adb_api.cpp and AdbWinApi.cpp were changed
to include that new header file.
BUG 2033924
usb_windows.c doesn't build with adb_legacy_api.h included into adb_api.h
Since adb_legacy_api.h is not used anywhere outside AdbWinApi.dll project, the simplest
fix would be to remove its inclusion from adb_api.h
To support both, WinUsb and Legacy driver APIs we need to abstract classes
that depend on driver API details and then implement two sets of the
actual classes: one for WinUsb, and another for the Legacy drivers, so
we can choose in runtime which objects should be instantiated, depending
on what type of driver we have underneath this API.