- Currently, in certain cases, even if Backspace key is pressed
after cursor blink is stopped, cursor blink does not restart and
the cursor is also not shown.

- It means, after EventData is changed to INACTIVE state due to
KeyboardFocusLostEvent(), StopCursorBlink() is called.
After that, in RemoveText(), which is called in Backspace key,
EventData cannot be changed to EDITING state and StartCursorBlink() is not called.
On the other hand, when the character commits or the arrow keys are pressed,
EventData is changed to EDITING state and the cursor is displayed on screen.

- So, added 'ChangeState( EventData::EDITING )' when the state is INACTIVE.

* Reorders the RTL lines while the text is laid-out.
It might happen that the length of the text changes after
the reordering. In that case if the lines are reordered
outside the layout engine update the lenght at that
step is too late.

Text jitter issue occurs when set a text again during text scrolling.
It is because the same property is used by the old and new animations. 2 PropertyResetters affect the same property.
So I've changed to use properties of Shader which is newly created every time.
Then the same property is not used by the old and new animation now.

- If the number of current text and the number of characters to be deleted
are same, it means all texts should be removed
and all Preedit variables should be initialized.
: mPreEditStartPosition and mPreEditLength