Rename string_to_text to string_to_ibus_text and introduce ibus_text_to_string
Use surrounding text whenever possible. Fix #20.
Optimize the workaround in #109

From now on, we only send a space key to dismiss autocomplete if we are
typing in Firefox or in Chrome and only on the first backspace sent.
Add guard condition for delete_prev_chars()
Introduce the FocusTracker class
Remove unnecessary log message
Merge is_in_unity() and is_in_unity_dash()
Remove unnecessary log messages
Extract FocusTracker into focus_tracker.py
Minor refactoring
Introduce on_special_key_pressed()
Minor refactoring
Rename old_string -> prev_string
Minor refactoring
Use a functional algorithm to calculate the number of backspaces to send
Fix a failing test caused by incomplete renaming
Merge pull request #184 from lewtds/surrounding-text

Use surrounding text whenever possible