Make Undo/Redo work properly with IME.

- Record undo operating even when composing text.
- Combine several edits in a batch edit into single undo
  operation.
- Freeze undo state on commitCorrection.
- Freeze undo state on switching insert/delete to
  delete/insert.
- Merge replace with delete or replace if they are for the
  same region when composing text.
- Merge insertion with replace when they can be single
  insertion when composing text.
- Perform drag and drop in batch edit.

Bug: 28588666

Change-Id: I37da124b3a05b322769e4d97fb0ce074aa4fc358
1 file changed