Cached rendereer hack.

This avoids allocating too many WebGL contexts.