Fixed on_paint to handle a seperate canvas; documented and tested

I realized in some other work that the on_paint method *must* be
able to handle a distinct canvas argument. This commit addresses
that. It also adds a fair bit of documentation explaining the
different ways to produce a raster image from a plot, and tests to
ensure that those methods work as documented.
ppair::Histograms now lets you specify the fill color via backColor
Merged
Added a new dialog for setting basic plot properties.

After watching somebody struggle trying to set basic plot properties on a live
plot, I decided that it was finally time to implement a basic dialog box to set
these things. The dialog can be acivated by the user by selecting the
Properties entry in the pop-up menu. It can be programmatically invoked by
the method set_propeties_dialog.
Minor improvement to bad value handling with binning
Use Prima's new isEPS flag.

For Mac LaTeX rendering and Mac Preview, the postscript images need
to have a special comment to indicate that they are EPS files. Otherwise
they simply do not render properly. Current development versions of
Prima (and Prima v1.40 when it is released) have support for a new
flag, isEPS, which properly modifies the postscript output to give
something that Mac's Preview and latex properly render and handle.
Enhancements to the Save as Postscript dialog

With the isEPS changes already committed, it now makes sense to
have the Save as Postscript dialog use the file extension .eps and
to refer to these files as Encapsulated Postscript. Also, this
commit appends a .eps extension to file names that do not have
that extension.

It occurred to me that if the user types a file name without the
extension and the file name with the extension exists, they will
*not* be prompted to overwrite, because the default file extension
will be added after the dialog closes. This needs to be fixed, but
is probably better fixed with a general Save As... overhaul.
When painting, only paint enable if the canvas was not initially paint enabled
Add environment variable hook for Subcanvas testing

I have encountered some trouble with subcanvas behavior. This
commit includes a hook that tests the evironment variable called
USE_PRIMA_SUBCANVAS, which can be set on or off by the user on the
command line.
Add subfigure example
Fix paint enable checking
Fixed a postscript font scaling issue, finally!

You might think that setting a font's size will rescale the font to
the desired height, but this is not true. You get a vertically
stretched (or squished) font that way. You want to set the height,
which properly rescales everything. This commit fixes that.
Enahnced properties dialog, added auto-scaling buttons
Disable mouse manipulation when properties dialog is open
Use named keys for property window

I am thinking about how to add axis scaling radio buttons, and that
will require interaction between the radio buttons and the min/max
values. As such, I have moved lexical variables into hash keys or
named components of the group box.
Take axis' opinion of numerical validity into account in preferences dialog
Switch back to lexical is_auto in preferences dialog

I realized that the best way to pay attention to handle knowledge
of automatic scaling and other axis properties is to add event
listeners that update the various widgets and update lexical
variables that cary the current state.
Switched the properties dialog to use event listeners.

I also decided to allow the properties dialog to live alongside
the plot object, which required some coordination of destruction
events to ensure proper cleanup.
Remove extraneous print statement
Revise old notifications for mouse movement