Implement line wrapping, by "brute force".

By brute force I mean that when the width of the text area changes,
all visible lines are replaced (by themselves), which means whole
new TextFlows are constructed and styled for the whole viewport.