Made the resource loading functions nicer, and made the colour effect
shader its own class in the interest of efficiency