New keyboard handling code

New approach where most of the magic happens inside vncviewer instead of FLTK.