Gloo fixes

Several improvements and fixes to current gloo. The new gloo was merged a bit in a hurry and these are some of the changes that were still pending. Quite a bit of stuff is putting back improvements and fixes that I applied to gloo earlier. 

### Summary

* re-applied fix for ATI bug in driver for glBufferSubData
* made docstrings numpy-compliant (and parameters go on class docstring)
* gloo does not unnecessarily copy data if not contiguous (gloo.gl takes care of that)
* remove unnecessary data copying in Buffer.__init__()
* re-applied improvements to shader error reporting
* fix bug in texture parametrization (parameters were set on each draw)

### Discussion / todo
* Gloo objects *can* have a `__del__` that auto-deletes the object from the GPU, but this is dangerous. However, requiring the user to delete objects explicitly is very unpythonic. We need to do something about this.
* Gloo objects now have a public update() method. Why?
* Shader and Program actually compile/link in the `_create` method. It seems to make more sense to do this in the `_activate` method.
* Luke's scenegraph branch fixes a few bugs, we might want to add them to this PR.
* replace store/copy with a single arg

ping @rougier