Add support for linear gradients, implemented as skia shaders.
Add support for linear gradients, implemented as skia shaders.

I had to complicate the IDL bindings generation to allow passing an array of
colors. Without these changes, we'd try to convert the dart object to
Vector<SkColor>, which C++ thinks is Vector<unsigned>, and we'd use the wrong
converter. So I added some template grease to force it to use a
Vector<CanvasColor> converter.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1152963009

flutter/flutter,cbracken/flutter,turnidge/flutter,flutter/flutter,flutter/flutter,Hixie/flutter,flutter/flutter,tvolkert/flutter,Hixie/flutter,tvolkert/flutter,tvolkert/flutter,tvolkert/flutter,tvolkert/flutter,aghassemi/flutter,jason-simmons/flutter,aghassemi/flutter,Hixie/flutter,turnidge/flutter,cbracken/flutter,cbracken/flutter,jason-simmons/flutter,flutter/flutter,flutter/flutter,tvolkert/flutter,flutter/flutter,aghassemi/flutter,aghassemi/flutter,tvolkert/flutter,cbracken/flutter,Hixie/flutter,turnidge/flutter,flutter/flutter,Hixie/flutter,jason-simmons/flutter,tvolkert/flutter,cbracken/flutter,cbracken/flutter,cbracken/flutter,cbracken/flutter,flutter/flutter,tvolkert/flutter,Hixie/flutter,turnidge/flutter,cbracken/flutter,Hixie/flutter,flutter/flutter,tvolkert/flutter,Hixie/flutter,turnidge/flutter,Hixie/flutter,Hixie/flutter,jason-simmons/flutter,cbracken/flutter