Add word wrapping to the stream renderer
The renderer was writing characters directly to stdout with no column
awareness, so the terminal did hard wrapping at the margin — cutting
words in half mid-syllable. Now inline text is buffered word-by-word
and checked against the terminal width before output. Words that won't
fit get pushed to the next line.
Width is read live from the Rich Console as a property, so resizing the
terminal or changing font size mid-response is picked up on the next
word boundary.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>