Convert the nutcracker effects to use a simpler intent type, and improve the existing LightingValue type, plus many, many associated fixes:

-- The LightingValue now stores its data as a proper HSV/HSB type -- so that the intensity value is still separate, but the hue/saturation isn't defined by an RGB color.
-- The ColorValue has been removed, and an RGBValue implemented in its place. This is intended for raw RGB data, such as pre-generated RGB values. It has no concept of intensity/brightness, although this can be calculated/inferred from the RGB value.
-- The StaticLightingArrayIntent has been genericized (to StaticArrayIntent<T>), and can be used for any data type.
-- Some intensities have been changed from floats to doubles; this is a side effect of using the HSV class we already have.  Later on, we should rewrite it a bit, and change back to using floats for intensities.
-- The Evaluators have been fixed with a bug in the RGBValue evaluation: a greyscale color doesn't work nicely with a pure color! It needs to be calculated in the HSV space.
-- Many things that expected ONLY LightingIntents have been rewritten to accept both LightingIntents and RGBIntents; eg. the preview updating, and the rasterization.  As part of this, some of the LINQ queries had to be rewritten; could benefit from some review.
-- Similarly, some things that expected LightingValues only have been added to accept RGBValues (ie. filters -- color breakdown, dimming.)