CHANGED: draw-call title to be changeable
CHANGED: track the current ShaderProgram, and only switch if needed (makes a difference with large numbers of draw calls. Should be done for every aspect of drawing, but not got that far yet in tutorials)