Use tiny white texture instead of color shader.

This commit is mainly to show how trivial a change this is. A subsequent commit
will remove all of the texture vs. color shader core stuffs and result in much
less and much simpler code. Two wins.
Allow launching specific test, & at scale factor.
Fixes to the shader clearing fix in 537b0936.

If we deactivate a shader, we need to null out curShader, otherwise that shader
might be immediately reactivated and think that its bits are already bound
(because it's still curShader).

This also forces unbinding when switching framebuffer, which seems to be
necessary to avoid funny business when rendering to a surface/texture.
Use > 0 to detect valid textures.

We do that everywhere else, so better to be consistent even if it doesn't
matter.
No need to delete and recreate our texture here.

We can just trigger a reupload of our image data.