Bindings, enhancements, bugfix

This commit:

* Fixes a bug in the Window code for binding a mouse adapter.
* Allows both internal and external bindings configurations.
* Reorganizes the Canvas code to be cleaner, adds the displaylist()
method to do rendering's heavy lifting, and adds the pick(x, y, state)
method to allow for picking operations to be performed (returns selected
Sprite).
* Removes the click count from ALL mouse events.
* Cleans up some utility methods.
* Adds Retina.dmref(name) which dynamically references a method via a
partial canonical name.

dmref() is useful for bindings, as it allows a binding to be written
such as "window.canvas.pick", which results in:

Retina.window.canvas.method( :pick )

being accessed, and its proc passed into the adapter.  Please note that
the dmref() method ONLY returns the method.  Additional encapsulation
and processing must be done by another operation.