this would allow the user to create interpolatedColorScales that are backed by non-quantitive scales, eg the following code will not throw an error:
`new InterpolatedColorScale("reds", "ordinal")`.
How about we just write a switch statement that takes in a string and produces a new instance of one of the acceptable quantitive scale? then we can also remove the ScaleFactory and ScaleFactoryProvider interfaces