* add some getters for EditBox and EditBoxImpl
* remove duplicate member variables from EditBox
* fix todo
* change to pure virtual methods for class EditBoxImpl
This PR also fixed issue:
https://github.com/cocos2d/cocos2d-x/issues/9572
For the new EditBox:
1. Added a ResizeLayout for updating layout when soft keyboard is shown.
This is because some Android devices won't refresh the view and when
the view is panned, the native EditText will turn black. This is really
a hack, but it works for many Android devices from 2.3 to 5.0.
When keyboard is beginning to show, the ResizeLayout's doLayout
method will be called 24 frames per second. Once the keyboard is closed,
or the user begins to input, the doLayout method will be disabled.
2. EditText is working in a different UI thread, so all the data
are passed to GL thread via callbacks in UI thead.
3. It also overrides onKeyDown method in Cocos2dxEditBox.
When the EditText got the focus, users could press back key to exit
the game. This behavior is not allowed. We give developer the choice to
handle back key event manually.