Remove unused cursor member variables.

The cursor is now drawn by the TextRenderer.
Improve implementation of getCursorCapsMode.

Note that I have not seen this method get called, but we might
as well have a proper implementation.

(This is part of trying to figure out why text is capitalized
on some phones.)
Implement Combining Accents (dead keys) for physicial keyboards.

Also known as "Dead Keys".

Example:

In preferences set "Default to UTF-8".
Attach a hardware bluetooth keyboard.
Type Right-Alt-`
At this point you'll see a ` character in the cursor.
Type e
At this point you will see è appear. (If not, check that the
Default to UTF-8 preference is set correctly.)

Hat tip to the ConnectBot TermKeyListener.java source code.
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
New launcher icon

Designed by Nathanel Titane, nathanel.titane@gmail.com, TNDesigns

Thanks Nathanel!

Benefits of the new design:

+ Looks better, more like a real terminal.
+ White-text-on-black-background reflects current default text colors.
+ Cute Droid-bug reflection in CRT glass.
TermSession: avoid deadlock on large writes to/from the emulation client

Have ByteQueue's write() return when the queue fills up during a write
instead of blocking, allowing TermSession to signal the reading thread
to clear the queue first before continuing.  Should fix the deadlock
reported in #198.
Version 1.0.52