Switching over to a new way of setting values: only changed values are
set.
This has some side effects...
xy are floats and sometimes change due to conversion.
Color mode is no longer used internally to determine what to send.
	This may cause values to change unintentionally.  For example,
	setting an xy value and adjusting the brightness later may cause
	the color mode to change and the xy value to recalculate based
	on the new HSB value.