Adds text color and cell (background) color options

This isn't necessarily the correct or most efficient way of managing
the properties, since it's possible that multiple objects share the
cache but need the color updated.  However, it works well enough for a
first pass.