Using new struct to manage colors.
Adding genSpectrum and helper functions. Default now generates full spectrum for visual output.