Previously if the completion entry text had a multibyte character the
ghostly text renderd improperly, for example:
The cursor position is "|"
1. In this case the ghost text was spliting a multibyte character.
entry: comunicación
prev: comunicacio|<b3>n
now: comunicacio|n
2. In this case the multibyte character was before meking the index
wrong, therefore presenting an extra character of the entry as ghost text.
entry: árbol
prev: arbol|l
now: arbol|
With this changes the calculation for the bytes to show is done based on
characters avoiding both of the issues above.