Isochronous transfer mode is no longer user-selectable.

A VideoStreaming interface can support either bulk or isochronous
transfer, but not both. Since the control block specifies a VS interface and
we can tell which method the interface supports, there's no point in making
the user choose the correct mode.

I've replaced the 'isochronous' parameter to uvc_start_streaming() and
uvc_stream_start() with a 'flags' parameter that may be used in the future
to select additional stream behavior. The lower bit is reserved, so users
that still set flags=1, intending to select isochronous mode, will be ignored.
Finally support sending frames on EOF, not just at flip-FID.

The buffer swap, which locks the stream mutex, is now its own function,
_uvc_swap_buffers(strmh), called at EOF or flip-FID (if EOF didn't happen).