Changes to the USBUART to make it less likely to drop characters at higher baud rates.

USB UART seems to work fine at 115.2Kbps or 230.4Kbps, but starts to drop characters
as the data rate goes higher. This commit changes the usbuart ISR to fill a software
FIFO, and adds a low priority timer interrupt to run deferred processing to drain a
FIFO and send USB CDCACM packets, rather than calling the usb send within the UART
ISR.

Tested on native platform, up to 1.5MBps.
usbuart: Fix build error and clean up whitespace.
Merge remote-tracking branch 'origin/usbuart_highrate'