Add initial USB Device support for STM32F4

There are a few rough edges here, and I'm pretty sure isochronous endpoints aren't working, but I think this should 
be enough to get the ball rolling.  I've tested USBMIDI, USBSerial and USBMouse and they all seem to work okay.

Cheers,
Joe