add utf8 support for TextField widget

1. refactor utf8_substr method to ui::Helper class
2. add utf8 support for TextField