Also find correct column width of wide characters.
Use unicodedata.east_asian_width() to determine wide/full width
characters if available. Otherwise, return character count as before.
adding a
abort: username 'foo\nbar1' contains a newline
abort: username 'foo\nbar2' contains a newline
transaction abort!
rollback completed
abort: username 'foo\nbar3' contains a newline!