fix(unexpand): respect last tab stop and add wide-rune width
Implements GNU coreutils compatibility for unexpand:
- -t implies -a (convertAll set when -t is present)
- Beyond-last-tabstop rule honored: with multi-stop
tablists, no space-to-tab conversion occurs past the
last stop
- East Asian Wide and Fullwidth runes count as two
columns via golang.org/x/text/width
- Backspace never decrements column below 1
Refs: docs/posix2018/CONFORMANCE.md
Assisted-by: Claude Opus 4.7 via Claude Code
Signed-off-by: Xe Iaso <me@xeiaso.net>