Implement auto-escaping non-Vietnamese

While doing so, I made some API changes. Now process_key() also
return the raw key sequence with the key appended depending on
whether that key is an undo key or not.

I also made a sizable amount of refactoring in ibus_engine.py, moving
all commit-related code into commit_result(). The code now try to
offer the user incorrect Vietnamese render of the key sequence
along side with the escaped sequence in a lookup table manner.
Fix lookup table position
Docstring for process_key()
Remove a print statement in ibus_engine.py
Fix tests for the new API breakage

process_key() now returns both the processed string and the new
raw_key_sequence.

We also add tests for non-vietnamese typing.
Allow non-alphabetic characters in skip non-vietnamese mode

Basically, we separate the input string into two parts: head and tail
(e.g.: tôi.là.ai -> "tôi.là." + "ai") and only process the tail.
Merge branch 'raw_key_sequences' into develop