5f85a7cc8d
- Fix infinite loop caused by byte-based string slicing on multi-byte chars - Use rune-based operations for proper Unicode handling - Add template functions: center, separator, box - Box function creates rounded corners with dynamic width - Account for emoji display width (2 chars) in calculations - Make line width configurable via plainTextLineWidth constant