Resolve a few compiler warnings
Support devices with multiple Video/Streaming interfaces.
Add sanitary ARRAYSIZE macro to simplify array size calculations
Catch bogus packets (which would otherwise segfault)
Explicitly de-initialize interfaces.
Simplify color format routines slightly
Print out bInterfaceNumber in uvc_print_stream_ctrl
Don't call status_cb if it is NULL
CSupport multiple simultaneous streams from the same device.

A new uvc_stream* API is added, along with a uvc_stream_handle type to encapsulate the
state of a single UVC stream. Multiple streams can run alongside each other, provided
your USB connection has enough bandwidth. Streams can be individually stopped and
resumed; the old uvc_start/stop_streaming API is still provided as a convenient way
to interact with the usual one-stream devices.
Rudimentary support for MJPEG streams
Add a README
Add a changelog
.gitignore the build/ directory
Bump libuvc version to 0.0.4
Add a library-owned flag to allow users to easily specify and control their own frame buffers
Add support for decoding JPEG images, returned by some cameras as 'MJPEG'
Add default Huffman tables to properly support MJPEG
Implement uvc_get_device and new uvc_get_libusb_handle.

uvc_get_libusb_handle can be used to interface with other interfaces of the same USB device.
Make the input, output, processing and extension units public.

This will allow client libraries to query and access these units.
Handle a few more LIBUSB_TRANSFER status codes (also eliminates some clang warnings)