Support wide characters in the shell through wcwidth()

There is one remaining bug where ttsl_drv's state end up incoherent
with the terminal own state; when a wide character is entered on the
last column of the terminal.

Reported-by: Loïc Hoguin