[gtk viewer] Avoid global variables

They do not fit with the GApplication model where multiple windows can
be active.
[gtk viewer] Remove the semantic selection stuff

There is no UI to set it anymore anyway.
[gtk viewer] Added some accelerators
[cairo] Simplify

No need for a separate setCairo() call.