Shaders for objects and batches.

Game objects and batches can have a shader. When drawn, the shader is
set automatically.
Added the "application shader". If set, this shader is given to any
newly instanced batches and objects.