USB now working, feeding events to core. Still some bugs remaining - such as clash with drive emulation.
First cut of write support