use HSV to pick random colors and avoid over-saturation or over-brightness