A stateless widget for clipping a shape (implementing IGuiShape interface) around a child widget.
An array of shadows may be defined to create impression of elevation (aka floating effect).
The GuiNormalizeGradient class takes a user-defined 2-dimensional color maps and normalizes it
to contain equal number of stops in each row of the color map, and inserts the colors for stops
at 0.0 and 1.0 if missing.
Each row may be defined by an arbitrary number of gradient colors GuiGradientColor.
GuiNormalizeGradient will automatically reconstruct the colormap so that each row has equal number of
columns or gradient colors. If stops for 0.0 and 1.0 are missing from either row or column, it is
automatically computed based on colors defined outside the range. If none were provided, then
a transparent color is assumed.