When a subpixel text run has a specified background color, we can
safely draw it into an off-screen surface.

Fix a bug in the renderer where the shader color mode was being
set before the shader was bound.

Add support in wrench for specifying the background color of
a text run.

Add a reftest that checks offscreen surface + bg color subpixel
text is the same as subpixel text on a normal background.

Fixes #2670.