Adjust selection control en/disabling technique to cover fringe cases not working

I removed some speed optimizations because they were causing controls to
not properly disable... and I don't know why.  The optimizations were
largely useless anyway, since the operation is so fast.
Change certain GDI+ wrappers to use hDC properties

Instead of layers.  I do like passing layer references when possible,
but these functions also need to operate on certain interface elements
that don't have background layers available.
Rename GDI+ Ellipse wrapper

Now that it requires a DC, it should be named the same as all other
DC-based wrappers
New public function for populating an image histogram

A number of functions could benefit from a histogram overlay similar to
the new one in Curves, so it makes sense to create a single function for
that specific purpose.
Many Curves tool interface improvements

This has become quite a lovely tool, perhaps the most lovely one in all
of PD.  The histogram overlay is particularly nice, and a welcome
addition to the tool.  I'd love to add a similar feature to other tools
in PD.

With this commit tool, the Curves tool is mostly done.  I may add an
option for a diagonal guide in the morning, but other than that, this
one should be considered ready for prime-time.