refactoring: hide the charlist implementation of InputText
This patch also fix #875.
Merge pull request #887 from chrox/fix_875

refactoring: hide the charlist implementation of InputText