Colormoo: An Algorithmic Approach to Generating Color Palettes