refine ColorGradient

add more constructors, add interpolateColor method