Rewrite PSPP output engine.
This rewrite makes the PSPP output engine much more object-oriented and
extensible than previously. It should make it much easier to add new
output features, such as cell footnotes and nested tables. It also makes
minimal changes to code that currently uses the output engine. The largest
changes are to the implementation of the LIST procedure, which are
necessary because this procedure had a too-intimate relationship with the
details of the output drivers.
The cairo and ascii drivers are now much better at breaking large cells and
large tables across pages and at choosing appropriate sizes for rows and
columns.
This commit adds a new output driver called "csv", which presents output
in comma-separated value format. It also updates all of the test cases
that produce output to use this output format.
This commit enhances the HTML output significantly and the ODF output
slightly.
This commit adds support for charts to the GUI output. However, it
temporarily removes the tree-view output summary pane from GUI output. It
should not be difficult to restore this later.