Fix crash scrolling across line height units (use after free)
Fixes inbox#3260 (closed)
Use after free happens during scrolling, as the deleted spobjects are still kept inside by the Layout, which we iterate over later. Rebuilds the layout before we use it.
Also some very light refactoring. Just remove some nesting, grammar in docs and a bit of gratuitous modification.
Best to view commit by commit (fix in !3541 (b7cbccdf)). Crash should be less likely to occur with !3544 (merged)