Fix: use different endpoint addresses.

According to USB spec, endpoint addresses must be unique, even across
alternate settings.
Allow isochronous transfer of less than the packet size.
Cleanup loop code.