view: fix buffer overflow when dealing with combining characters
The `cell.len` attribute refers to the number of bytes of the underlying
text which are represented by this cell. The actual NUL terminated data
being displayed can have a completely unrelated length.
For example a NUL byte has a `cell.len` of 1, but is displayed as
`cell.data = "^@"`.
Because we currently have a fixed cell capacity of 16 bytes (including
the terminating NUL byte) long sequences of combining characters won't
be displayed correctly.
See also #679