Use backspace to undo the last update_composition()

Supposed we have the following consecutive actions:

- update_composition('ca')
- update_composition('cá')
- backspace()
- backspace()

Then the first backspace should undo the last update_composition() and show 'ca'. The second backspace should be a normal backspace.