Pass update wasn't actually added. Couple more features as well.

Remove Lemon, useless now.
ShaderProgram class is a bit smarter now. glUniform will only process
during binding. Otherwise the buffers are pushed in pending Maps.
Create RenderProgram, extends ShaderProgram for vertexArray based rendering.