Fix WebGL errors

This was actually a rather vicious problem under the hood. A handful of reported errors turned out to be wholesale shader replacement, and could potentially blank an entire game state.

Here's what was happening: When a `StatelessParticle` object was created, it acquired a renderer. The renderer requested a shader from the `ShaderManager`. The manager, by default, would use the new shader immediately.

Meanwhile, the `GLRenderManager` tracks which shader is in use internally. When a game object renders, it checks its desired shader against the current shader. If it is different, it loads its desired shader and sets the current shader. This is the only place that current shader is set.

Therefore, when the new shader was created and used, it did not update the current shader. The render manager went on to render other objects, using their own `TextureAtlasShader` shader. But this was not the active program, so when they tried to set its properties, it failed. Those objects would not render.

Once the `StatelessParticle` fully initialised, using `startEmitting`, it would attempt to render, set the current shader in the render manager, and trigger the correct response thereafter. Alternatively, if the buggy creation happened before the render loop initialised, the loop would initialise to null and then select the correct shader.

However, if the particle object was created but not fully initialised after the game initialised, it would load the wrong shader and never replace it. There was no place where the engine could recover the right shader. The game would stop rendering anything.

I fixed this by adding `use: false` to the initial `requestShader` call.