Initial commit

Basic library structure which supports enumerating detected USB devices
Add API to access poll fd

Almost forgot... :)
Rename fpusb_device_handle functions to devh

Prevents confusion with functions that work on fpusb_dev structures.
Add functionality to access device descriptors
Don't pass ctrl_msg/bulk_msg structures through async paths

These are easiest to construct on the stack, but in the async case it is
likely that the submitting function returns (hence stack is destroyed)
before URB completion.
Fix signalfd structure size on x86

ptr is a 64-bit value
Compiler flags update

Also fix some warnings
Rename to libusb-1.0

I've taken over the libusb project, and what was previously known as fpusb
will eventually be released as libusb-1.0.
API renaming: remove fpi and usb_ stuff

fpi changed to usbi.

We should not expose structures with prefix "usb_" in the public
namespace as it is quite likely there will be some conflict somewhere.
Instead, using "libusb_" should be safer.
Plural of bus is busses

SF #1633043
Use "transfer" instead of "msg"

Based on a discussion with Tim Roberts.
Rename some _devh_ functions

Decided against naming functions in this style based on advice from
Tim Roberts. Still not really sure about devh naming in general.
TODO update

Start listing the things I want to discuss/reconsider before 1.0 API
is final.
Remove more fpusb remnants
Only use -fgnu89-inline when supported

J F pointed out that this option only works on gcc 4.3 and newer.
C++ header safety

Pointed out by JF
Fix dpfp example compilation
Poll usbfs descriptors directly

We don't need to use signalfd for this functionality because we can poll
the file descriptors for write events.
Remove timers and signalfd

Instead of timers, add a mechanism for informing the parent app when the
next timeout is due to happen, so that it can call us at that time.

As we no longer use signals, signalfd has also been removed.
TODO update