Move streams from C++ to JS, as there seems to be little to no
performance difference.

BROKEN: no way to cancel a stream
WIP: Begin refactoring
WIP: More cleaning and fixes
WIP: Prohibit closing devices with active requests.
WIP: transfers
WIP: Transfer parameters go on constructor
Remove unnecessary headers
Combine bindings.h into node_usb.h
Control transfers
Use poll instead of a backend thread
Remove debug printfs by default
Merge header files
Implement streams.

Fixes to Transfer: Prevent state corruption when resubmitted in
callback. Attach the callback in the constructor instead of
.submit().
Play nice with node-gyp --debug.
Fix IN streams to return data

Slice was incorrect and always returned an empty buffer.
Create a handleScope in callback to avoid leaking references to buffers
Document API changes. Implement the missing APIs.
enable USE_POLL on OSX (untested)
API docs: controlTransfer callback args were swapped.
Remove unnecessary HandleScope