Increase drawing radius, so the colored lines are drawn over self.bounds. But we clip that to bounds again. This will prevent ugly artifacts at the end of the lines.
remove unused code
inform targets if a swatch was selected
introduce setters for hue, saturation and brightness which have animated parameter
enforce the use of those methods by removing the normal setters
replace gradient drawing in drawRect: with a CAGradientLayer