Fixed invocation of ibus-daemon.

For some reason it does not start up properly if --panel disable are separate
arguments it doesn't work correctly so now it is --panel=disable.
Converted the application to use GtkApplication.

Also, added a GxfContext in order to store the window, socket, and subprocesses
to simplify the callbacks and support killing the subprocesses.
Changed queue consumption code so it locks the queue to prevent something from writing to it somehow.
Added some code to unref the subprocesses queue.
Integrated the subprocess cleanup code with signal handling.

Unfortunately, a global variable is involved.
Merge branch 'subprocess_cleanup'
Made a variable read-only.