Обновить лишь часть текста в textarea нельзя
Теоретически можно. Знаю по
такому решению «висячих строк». Требует прохода по всему документу. Крайне накладно.
Представить страницу документа как цепочку span'ов (одно слово - один span)
Именно так и поступает Google, только span используется внутри блочных элементов, чтобы грамотно считать clientRects. Блоки а-ля «параграф» преобразуются в блочный элемент (конечно же div, кто бы сомневался). Технически верно, иначе придётся лопатить весь код, а это... Описано в п.1.
Представить страницу документа как анимацию
Поход с div и span зело способствует и анимации. Почему нет?