Support scaling and colors, particularly for grids

This is experimental!

Basic goal: Allow the specification of color and scale per-item in a
grid.  The entangling between the grid drawing and the more general
DrawIndex functionality means that this has effects on a fairly large
number of other components. It's accomplished by recording the scales
and colors, then arranging to pass them around. The scale is passed
using the zScl argument to DrawIndex, which was previously always
1.0f in the Grid case. The color becomes a new argument which is
handed around so that lots of other draw functionality can use it too.

This is incomplete, and serialization doesn't work yet.