Fix multibyte handling

multibyte characters shouldn't be treated length with strlen. it should be used with strdisplaywidth.
For example, `あ` is 3 bytes in utf-8, but 2 cells width. So it should use strdisplaywidth().