ig4 - Use interrupt to wait for receive data
* The transmit FIFO is typically big enough to hold the full command
so we do not usually hit the DELAY(25) in the poll loop. However,
this is not the case when receiving data.
* Generate an interrupt on stop-bit detection and when a character is
received. Set the receive FIFO threshold to 1. Our polling loop works
the same way but this allows us to use lksleep() instead of DELAY(25)
when waiting for receive data.
* Reduces cpu overhead very significantly. The cyapa (trackpad) driver
polling at 100hz previously ate 10% of the cpu and now only uses 2%
or less when fully active.