fix horizontal scrolling with mouse wheel/touchpad
Add proxy_ref to Observable classs.
Remove the call to get_proxy when binding, for optimization.
Micro optimize widget's proxy_ref.
Quick and dirty - remove calling partial in lang when binding from kv rules.
Move the call_fn to outside create_handler so it's not created for each handler.
Complete bind/unbind of event dispatcher to allow fast bind and rename the _bind_with_args to fast_bind. Add docs.
Update lang.py with changes to event dispatcher.
Update Property with event dispatcher changes.
Make the Observerable class be a EventDispatcher super class which defines the binding methods.
Update the lang test to reflect changes.
Add note how to make fast_bind compat with bind.
Add default implementation for fast_bind/unbind.
Add observeable to all and factory.
Inline the initial update_intermediates function.
Change EventDispatcher to not inherit from Observable anymore.
Make fast_bind return True/False instead of exception is name is not pro.
Modify EventDispatcher's property to accept quiet param to not raise exception for non-existant prop.
Optimize lang binding further.
Ensure prevent proxy_ref attribute error.