Adds remove() method to AttributeList.
Use reverse MRO for extra repr.
Updates Cairo bindings (write_to_png_stream).

This patch adds support for write_to_png_stream (using some special
callback magic) and changes the Cairo file to use explicit string
conversion.
Formatting fixes.
Adds a Sequencer object; default tween to clamp.
Adds Struct uniform support.
Adds a small util for shader creation/testing.
Remove duplicate code in noisemaker.
Adds a num_frames option to the main_loop method.