Gloo clean

Basically, GLObject only provides _activate, and all objects now keep
track of _need_something, which they then "do" in the _activate method.
This may add a wee bit more code in some classes, but now at least it
is very clear what happens. This was especially problematic for the
Program class.

This should make sure that both master and scenegraph operate without errors. This PR replaces #219.

I will also make a PR for scenegraph so that both are synchronised. 
What is the rationale for Buffer to upload data from _activate() ?