Proof of concept implementation for delete-surrounding-text.

The QInput method for committing text can be used to replace a region of
text by an empty string, effectively allowing us to delete text.

BUG=http://code.google.com/p/ibus/issues/detail?id=1642

Review URL: https://codereview.appspot.com/13361046
Patch from Benoit Pierre <benoit.pierre@gmail.com>.
Finish the surrounding text implementation

BUG=http://code.google.com/p/ibus/issues/detail?id=1698
TEST=ibus_engine_get_surrounding_text()

Review URL: https://codereview.appspot.com/80470044
Patch from Trung Ngo <ndtrung4419@gmail.com>.
Release 1.3.3

Review URL: https://codereview.appspot.com/89820043
Add archlinux directory.
Make key auto-repeat detection possible for engines.

If auto-repeat is enabled for a key, the sequence will normally be:

press, release, press, release... press, relase

Which means it's impossible for an engine to detect auto-repeat events
(and for example filter them out to detect when a key is really
released).

Using XkbSetDetectableAutoRepeat change the sequence to:

press, press... release

So it's now possible to filter those auto-repeat events.