Bug 895135. Avoid normalizing gradients to a smaller interval than 0..1. r=roc

Previously if we had all the stops at the same location, we'd end up putting
them all at 0. This makes things harder for backends that implement gradients
with a lookup table because they don't have room for multiples entries at the
zero location. If instead we leave the stops at the same location on the 0-1
line we'll have a better chance of drawing them correctly.

--HG--
extra : rebase_source : d57553d90e3eef288ca41576573f1c1def97da7e