Check, after updating display, if viewport is really filled

Due to changed line heights, the rendered content might not reach to
the viewport bottom.

Issue #1147
Make line widget handles objects with methods. Handle widget height better

Closes #1147

Widget handles now have .clear() and .changed() methods. The second informs CodeMirror
that the widget changed, and causes it to recompute the line height for the widget's
line.

Fixes some sloppiness in the tracking of widget heights.