Truncate matches based on rendered width
Truncate matches based on rendered width

Truncating matches based on glyph count can result in wrapping, since
some glyphs are two columns wide (e.g. CJK characters). In heatseeker,
line wrapping is an invariant violation and leads to rendering
weirdness. Using the unicode_width crate, it is possible to instead
truncate matches based on their actual rendered widths.

rschmitt/heatseeker,rschmitt/heatseeker