Added functions for open using USB file descriptor

Android USB api provides file descriptor. This can be utilised to make a libusb
device. Libusb has been adequately modified to utilise fd. Added functions
which to use corresponding libusb functions. One crucial point is not to close
the USB device Libftdi normally closes the usb device and opens it again when to
be used. To do that on android, one had to go back to Android java API. Hence,
do not close the device nor try to open it again on android.

libusb_open_fd is a function that is needed on android. But if it is not
present, do not fail. Just dont compile functions that require this.

Signed-off-by: Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in>