gradient-angle: Add colorStops parsing and interpolation functions.

Breaks if colorStops do not cover the entire [0, 2PI] range.