ttools: generalise ShapeForm to accommodate multiple positions

The ShapeMode/ShapeForm colouring machinery can now be used for
multi-point shapes such as links between groups of positions.
ttools: replace PairPlotter by PairLinkForm

You can now do pair links with all the usual colouring options.
ttools: generalise position to multi-position plots

A new plot form is added which lets you plot pairs of markers rather than
single points.  To support this, the MarkForm class is generalised to
provide implementations with 1 or more points plotted using the same marker.

Alongside these changes, all access to data positions using DataGeoms
now takes account of the fact that there may be any number
(not just zero or one) positions in a tuple.
This required changes to PointCloud.  The resulting PointCloud/SubCloud
class is working fine, but the interface is a bit messy, and should be
tidied up later.
ttools: refactor PointCloud/SubCloud

SubCloud is now its own class, and the interface is tidied up.
It's now clearer what's going on.