In tk2dSprite.UpdateColorsImpl,
instead of simply setting the one color, work out the gradient color. Lets say you have 4 gradient colors for each of the 4 points in the sprite...
Pseudocode, but I'm sure you can figure it out.
bounds = GetUntrimmedBounds();
foreach i:
point = meshVertices[i];
float x = (point.x - bounds.min.x) / bounds.size.x;
float y = (point.y - bounds.min.y) / bounds.size.y;
Color cx0 = Color.Lerp(colorBottomLeft, colorBottomRight, x);
Color cx1 = Color.Lerp(colorTopLeft, colorTopRight, x);
meshColors[i] = Color.Lerp( cx0, cx1, y );