More precise timing.

Each cycle is now started with a start of frame from usb host rather
than waiting for the next IN request.
Better function names.