commit_composition() now takes an argument
Minor refactoring
Only append a space after a real string correction
Comment
Don't append none history entry after undo backspace

The none entry was supposed to break an infinite loop where the next
backspace still hit the same if condition. The reset() has already
broken it.
More tests for BaseBackend
Tests for SurroundingTextBackend
More SurroundingTextBackend tests
Refactor backspace handling
Add tests for the PreeditBackend
Completely eliminate self.raw_string and self.editing_string

New code should rely on self.last_action()["raw-string"/"editing-
string"] .
Temporarily disable history entry on delete_prev_chars()