Cleaned up the activation pattern for gloo objects.

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.
fix to last commit
flake
fix _need_update in gloo.variable
Tweaks to program and composite program
Nest scipy import in polygon.py

This should bring us one step further in passing tests
for the scenegraph branch.
Merge pull request #308 from almarklein/scene-gloo-clean

Scene gloo clean
Merge pull request #309 from almarklein/scene-scipy

Nest scipy import in polygon.py
Added RegularPolygonVisual and example, updated EllipseVisual and simple test.