Factored out doubly linked list code.
Starting on new row layout code.
New row layout system.
Changed 'row' to 'slot'; renamed rows management class to sound more generic.

Using 'slot' is more consistent with Ogawa et al..
Moving to per-line rows and a new layout method.
New greedy node placement system.
More efficient search for best node position.
Cleanup.