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