Fix #36: uneven splitting of codepoints
Fix #36: uneven splitting of codepoints

Check if the number of columns needed to print name exceeds the number of cols.
If it does, split the name str at the max number of columns available for name.
Conversion to wide char ensures the split is done at a valid codepoint.

The current patch adds some optimization as well:

- No more copying to an intermediate (global) string.
- If the name is shortened, escape chars are replaced only till the terminator.

jarun/noice,jarun/nnn,jarun/nnn,jarun/nnn,jarun/nnn,jarun/noice