USB OHCI: Support for isochronous transfers

Finishing and refactoring the draft, initially implemented during April-May 2012

NOTE: startingFrameNumber returned to device contains the number of the
next free frame right after the last packed of submitted data. For more
details please Look into corresponding [haiku-development] discussion
started at 03 Jul 2013.

Partially fixes #1045.
USB OHCI: Fix finalizing of STALL-ed control request transfers

In case control transfer is finished with STALL answer from device only
the setup TD is retired into the Done Queue but other TDs (data and
status) are left in the ED queue. HC set the endpoint halted - so we
process such endpoint regardless of it's non-empty queue.

PS: cleanup some trailing spaces.
Fix and force USB audio driver to work with new OHCI module

* some functionality like recording temporarily disabled;
* set the endpoint speed call added;
* packet size hard-coded for 48kHz case;
* draft support for formats and sampling rate handling;
* implement sampling rate change on the fly;
* optimized using of starting frame;
* fix user_memory in buffer exchaqnge call;
* fix exchanged buffer recoriding processing;
* debug tweaks, fix current buffer switching;
* cleanup, cleanup, cleanup...
USB audio: cleanup and codestyle fixes.

* cleanup and codestyle fixes;
* AudioFunction module contents purged out as unused.
USB audio: fInsideNotify guard added to Remote/Close callbacks
USB audio: Use system-wide USB_audio.h instead local one

* switching driver code to use system usb/USB_audio.h header;
* refactor USB_audio.h specification header for both USB audio specifications.
USB audio: Refactor TRACE-es for more configurability
USB audio: dev.entry number should be 1-based, etc

* USB audio device entry number made 1-based instead of 0. According to
  Haiku MultiAudio specs audio device entries should be 1-based but
  0-based;
* cleanup and refactoring. No functional changes;
* recording stream activated;
* fix input channels description report and codestyle issues.
USB audio: Fix function of Selector Unit control

* restore function of Selector Unit that was previously disabled;
* fix Selector Unit input pin names "Unknwon" case.
USB audio: Mixer Unit control implementation

* support of Mixer Unit control in UI implemented;
* improve SetMix/GetMix to support Mixer Unit control type;
* cleanup and improvements.
USB audio: use new(std::nothrow) for allocations

* Use new(std::nothrow) for allocations;
* Input buffer index counter restored;
* Improve unsupported UI controls debug info tracing;
* Some cleanup.
Rename driver folder 'usb_audio' to 'usb'

... just because the source path ./kernel/drivers/audio/usb obviously
references audio hardware so "_audio" suffix is excessive.

No functional changes.