Refactoring Program and uniform/attribute handling
This merges my approach with that of Nicolas.
There may still be some bugs or missing features, but I tested
on a few examples and it seems to work.
NOTE: THIS CHANGES THE API QUITE A BIT:
program = oogl.Program()
program['a_position'] = X
Fixed tests for oogl.
Also renamed vbo.py and fbo.py to buffer.py and framebuffer.py.
Some fixed applied to make tests work ok :)
Note that the Buffer classes need some work (tests fail now)
Modify examples (well, some of them) to work with new oogl.