Rename "hangul_mode" property to "InputMode".

And Add symbol to InputMode property.
This will show InputMode status on gnome-shell.
Add "initial_input_mode" config item.

If initial_input_mode is "hangul", then hangul engine will start
in hangul mode, otherwise in latin mode.
I've changed hangul_mode to more general name, input_mode.

I will add UI for this config item later.
Use "initial_input_mode" config item on startup

When the "initial_input_mode" config item is changed,
there is no need to change the current input mode.
"initial_input_mode" item should be applied on staring routine.
setup: Use GtkBox instead of GtkVBox, GtkHBox
Add "Start in hangul mode" option

If this widget is checked, "initial_input_mode" config will be set
as "hangul".

This widget is not match to the config item "initial_input_mode".
But I think "Start in hangul mode" check box is easier to use
than "initial_input_mode" combo box.
Correct spacings

See https://wiki.gnome.org/Design/HIG/Layout
Merge pull request #24 from changwoo/setup-ui-cleanup

setup: Add spacing and clean ups
Add off key feature.

On Escape key event, the input mode will be changed to latin mode.
This will help vi* users.
Add on key feature
Conform to GSettings key naming rules.
Aware of lookup table orientation.

We need to check lookup table orientation on starting, too.
Rename config item "hangul-keys" to "switch-keys"
Update on keys and off keys on config value changed
Python3 compatibility

- Use ctypes instead of pipe
- Set python in build time