Color interpolators return color instances.

Fixes #1029. Previously, these interpolators returned RGB hexadecimal strings,
as the intent was for the color to be used to set attributes and styles.
However, since #333, all colors return RGB hexadecimal strings when coerced to a
string, so we can get the equivalent behavior by returning a color instance
rather than a string. Returning a color instance is also more useful in the case
where additional color manipulation (such as brighter/darker) is desired.