Cached renderer hack.

This avoids allocating too many WebGL contexts.