* lisp/color.el (color-name-to-rgb): Rename from color-rgb->normalize.
Autoload. Add optional arg FRAME, and pass it to color-values.
(color-complement): Caller changed. Doc fix.
(color-gradient): Rewrite for better clarity and efficiency.
(color-rgb-to-hex): Rename from color-rgb->hex.
(color-rgb-to-hsv): Rename from color-rgb->hsv. Force hue and
saturation to zero if the value is too small.
(color-rgb-to-hsl): Rename from color-rgb->hsl.
(color-srgb-to-xyz): Rename from color-srgb->xyz. Doc fix.
(color-xyz-to-srgb): Rename from color-xyz->srgb. Doc fix.
(color-xyz-to-lab): Rename from color-xyz->lab. Doc fix.
(color-lab-to-xyz): Rename from color-lab->xyz. Doc fix.
(color-lab-to-srgb): Rename from color-lab->srgb. Doc fix.
(color-cie-de2000): Doc fix.
* lisp/facemenu.el (color-rgb-to-hsv): Deleted; use the version in
lisp/color.el instead.
(list-colors-sort-key, list-colors-print): Use
color-normalized-values.
* lisp/faces.el (color-values): Use cond for clarity. Doc fix.
* lisp/gnus/shr-color.el (shr-color->hexadecimal): Use renamed
function names color-rgb-to-hex, color-name-to-rgb,
color-srgb-to-lab, and color-lab-to-srgb.
mm-decode.el (mm-inline-media-tests): Do not check for diff-mode it's standard in Emacs nowadays.
color.el (color-gradient): Add a color-gradient function.