There can be such cases where it fails to find intersection points for
a given position, especially when the polygon is small.
Such an input would result in an error previously, but now it renders
correctly.
* Implement gradient brush similar to PathGradientBrush (#969)
A gradient brush implementation that works similar to
System.Drawing.Drawing2D.PathGradientBrush.
This fixes#969, but only convex paths are supported for now.
* Update submodule to add test fixtures for #989
* Performance optimization
Use LengthSquared() instead of Length() when it's possible.
Avoid unnecessary ordering of elements.
* Avoid using LINQ in a hotspot
* Validate arguments for the public constructor