This patch adds additional logic in ttydisc_rubchar to properly handle backspace behaviour for UTF-8 characters.
Currently, typing in a backspace after a UTF8 character will delete only one byte from the byte sequence, leaving garbled output in the tty's output queue.
With this change all of the character's bytes are deleted.
This change is only active when the IUTF8 flag is set, which can be set using the changes from the first patch D42066.
The code uses the teken_wcwidth function to properly handle character column widths for different code points, and adds the teken_utf8_bytes_to_codepoint function
that converts a UTF-8 byte sequence to a codepoint, as specified in RFC3629.