Fixes a bug in using __qualname__.
Fixes OpenGL context init bug in SFML 2.1.
Removes __repr__ from sobek.Uniform.
Adds starting support for better State debugging.

This patch adds some (beginning) support for StateLogger and
ConsoleStepperTraversal objects, the idea being we can step through a
frame, node-by-node, and watch the visual changes in realtime.
Fies a sobek.Asset bug.
Fixes some fringe Program bugs.

This patch adds better support for place Program attributes within the
graph, rather than always assuming it will be set on the topmost node.
For this reason, the projection, view, and model matrices will be
queried from the current state and re-enabled on the new Program. Other
state Attributes, however, behave normally.
Sets different shaders for different model types.

This patch builds on the previous commit in which support was improved
for multiple Program attributes inside a graph.