Use printf constructor safely

The input string might contain formatting marks, so make sure those
are ignored.
Make keysymtab static and const

Static to avoid namespace polution, and const so that it can be
shared among instances.
Use NoSymbol as the error code

This is how the X11 API does things, so it's clearer if we use
the same principle.
Windows debug builds of vncviewer should have a console

Makes it easier to debug it by having convenient access to the
log output.
\nAdded missing dependency that caused x0vncserver to fall back to polling
Merge pull request #21 from bphinz/precise-damage-fix


Added missing dependency in Ubuntu precise package that caused x0vncserver to fall back to polling if the build host didn't already have libxdamage-dev installed.
Fix some cmake quoting and escape issues.  The un-escaped parens generate a "Argument not separated from preceding token by whitespace" warning. The '--directory' argument might need to be quoted if PROJECT_SOURCE_DIR contains spaces.
Merge pull request #22 from bphinz/i18nfix

Fix some cmake quoting and escape issues.  The un-escaped parens generat...
Update FLTK requirement

We actually require FLTK 1.3.2 as we reference FL_SOCKET.
Ship FLTK patches instead of referring a URI

It makes things more self contained (although you still need to
download FLTK itself), avoids the confusion of STR:s in varying
states, and allows us to refer to patches that aren't available
on an STR.
Remove simple keyboard model

Remove the FLTK simple keyboard system and reorganise things in
preparation for a more direct approach.
Attempt to handle Ctrl+key

Hacky attempt to try to figure out the actual key pressed when
FLTK is giving us control codes.
Better codepoint for combining ypogegrammeni (dead iota)
Add helper to get combining codepoint from a spacing character
Add xhandler hook

Boiler plate code to intercept system events from FLTK so that
we can generate proper keyboard messages.
Add X11 keyboard handler
Add Windows keyboard handler
Add OS X keyboard handler
Ignore FLTK events when we have low level hooks

Some events can sneak through, e.g. from some virtual keyboards.
We need to ignore these to avoid confusion.
Disable input methods when the viewport is focused

Input methods are way too complex for us to map them to the VNC
protocol in any sane manner. Best just to disable them and rely
on simple keyboard behaviour when the viewport is active.