Implement custom line container, improving performance

Adding n child actors to an Mx.BoxLayout is an O(n^2) operation
(see https://mail.gnome.org/archives/clutter-list/2013-September/msg00005.html),
which greatly impacts performance when the terminal output
contains many lines.

The new LineContainer widget is (for Final Term's purposes) a full
replacement for Mx.BoxLayout that provides linear-time adding of
children as well as greatly improved paint performance by means of
a spatial index.