Fixed return code for usbFunctionWrite to indicate no more data.
On some hubs the device was being polled rapidly which slowed down the
heartbeat led indicating too much processing was going on. It turns out
we failed to respond correctly when the LED status was set and the host
permanently attempted to get a response from the device.
Also reworked the initialization code and tidied up and added more
comments.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>