Initial PyGLy commit.
Fix gitignore reference for .DS_Store
Move code out of seperate modules and into a more
coherent structure organised under the "pygly"
project.
Code has not been updated and will not work until
changes are made to reflect the new paths.
Update md2.py to have new code formatting.
Fix code to work with new structure.
Update syntax to use word_word for function / variables
instead of camel-case.
Move uv_generator implementations into the uv_generator root.
Rename Loader.py to loader.py, this requires 2
commits due to case insensitive file system.
Rename Loader.py to loader.py, this requires 2
commits due to case insensitive file system.
Add examples. Currently only has MD2 example
which needs cleaning up.
Rename weak_reference to weak_method_reference.
Move weak_method_reference to new 'common' module.
Change weak_method_reference to be a wrapper for
taking references of object methods.
Added a test to show why the code is necessary.
Fix weak_method_reference.

Make weak_method_reference work in set([]).
Add tests to weak_method_reference.
Add missing __init__ file.
Add Analog and Digital input classes.

These classes wrap access to basic analog and
digital inputs.
Provides the ability to register a handler
function.
Multiple instances of thee objects may be used
to represent a physical device.
Create Dispatcher object for observer pattern.

Move handler register / unregister code from
analog / digital input objects into the
Dispatcher.
Add Mouse and Keyboard objects

Use existing Mouse and Keyboard classes from 'examples'
but with updates.
Update syntax.
Remove attach to / detach from window. A keyboard / mouse
requires a window at creation time.
There are no mutual-exclusivity requirements for these
objects. Ie, Multiple keyboard / mouse objects can exist
per window, application, etc.
Use the new Dispatcher to handle event dispatching.
Use the Analog and Digital objects.
Add test for removing reference from container.
Update viewport to use standard weakref class.
Update md2 example to use latest input code.
Explicitely specify events for our mouse and keyboard

This fixes the keyboard not receiving on_key_press
and on_key_release events.
Move some modules around.

Move renderer.scene to scene
Move renderer.mesh to mesh
move renderer.*_camera to scene.*_camera
Update examples.md2.main to work with these changes.
Remove debug prints from input.keyboard
Fix keyboard key_state not being updated.

Register key_state seperately to other events.
Add a test to check for key state changes.