Abstract class to specify the basics of a layout class.
An algorithm to lay out a graph's nodes in left-to-right top-to-bottom order, more or less equally spaced.
Implements a simple force-directed (spring) layout for Charger.
Note: the term "layout" here refers to the graphical arranging of the elements of a graph. It has no relationship to the Java notion of a layout manager, etc. It also has no relationship to the XML tag "layout" used in CG graph objects.