Client|LineEditWidget: Cursor appears on the boundary of characters
libgui|Font: Determining the advance width of a text

The visible width and the advance width may be different, particularly
when whitespace is involved.
libshell|Client|LineWrapping: Determining content index at a width

The ILineWrapping interface now contains methods that allow
determining which content index is at a given width in a range.

FontLineWrapping also now correctly uses advance width when suitable.
Visible width is only used for determining the actual wrapping points.
libshell|AbstractLineEditor: Move between lines based on advance width