Curve tool now support per-channel curves

Fixes #121.

Red, green, blue, and luminance curves can now be set independently.
This allows for a huge variety of effects; for example, the popular
"Lomography" effect can now be easily recreated in PD.  (See
http://www.mora-foto.it/en/tutorials-gimp/simulate-lomography.html, and
note that vignetting is made much easier via PD's Effects -> Stylize ->
Vignetting tool.)

This update proved to be a lot of code, because all extra tool features
(particularly preset load/save) had to be modified to account for the
new behavior.  Also, many UI elements had to be revisited to make
everything work.

I *think* the new Curve tool is bug-free, but more testing would be very
welcome.  Also, note that this change breaks any existing Curve presets
- sorry about that, but there's no way around preset breakage when a
tool's core data structure changes!

One last thing I am contemplating adding to the Curves tool is a helper
function that asks for four node arrays (one each for RGB/Luminance),
and then returns a properly-formatted paramString.  Such a function
would be very helpful for internal PD functions that want to make use of
Curve adjustments, without forcing the functions to store entire param
string values themselves (instead, they could just store however many
relevant nodes they require).  To that end, I may revisit the tool once
more before 6.4 releases.