Implement cursor feedback for toggle keys.

The cursor graphics are copied from ConnectBot. (And extended to
also show the Fn key state.)

I had to change the cursor rendering from a "grey" color to an
Xor color. Not sure if people are going to like that or not. I
guess we can work up a fancier renderer in the future.

In testing this I tweaked the way hardware control keys worked.
Previously they would "toggle", which isn't desirable. (At least,
it isn't desirable for non-toggleing keyboards, which I think
is the standard for keyboards that have a control key.)

Fixes issue #176