Change shaders to use interface blocks, and implement fade and scale. Needs cleaning up.
Fix bug: model instances not removed with their entities.
Add explosions and introduce new Tween class for inbetweening particle parameters
Add alpha blending. Render transparent instances with blending on and depth writing off.
Pre-calculate camera direction
Add randRange function for ints
Add unbind method
Fix bug: unbind texture after using it
Fix alpha blending in billboard shader
Parameterise particle lifetime
Prefer to only use gl_position in the geometry shader
Set max_vertices to a more accurate value