Removed the BaseValueCacheable class from the system because the caching system is one way of implementing data binding, but in the current implementation it looks like it is the only way.
The cleanup method for the valueCacheable protocol is actually optional as well, in the case for example with the hardware sensors.
A cache-less version of the button binder.
Removed comments that were unintentionally left in a previous commit.
Removed the notion of valuesCache from the externally facing part of Csound.  None of the examples really required the use of caching and really all that was done was setting up data binding between Csound and Something.  So each of the classes were renamed.
Completely unused cache variables.
Optional function that was empty was removed.
Removed unused variable.
Replaced value cacheable in comments and pragma marks with Data Binder equivalents.
Moved private implementation details out of public header files.
Improved the name of cachedValue to channelValue which is more correct and closely parallels the channelPtr pointer naming scheme.
Moving implementation details out of header file.
Changing CachedValues to Channel Values.
Changing cacheValues to DataBinders where external objects are being stored.  Internal to Csound, this is still referred to as a valuesCache, which is fine because that is what it is, but not cached externally necessarily.
Removed blank lifecycle stubbed methods.
Updating the documentation with CsoundDataBinders protocol and surrounding explanations.
Decided that Data Bindings were better than Data Binders, and changed the files accordingly.
Renamed the ControlRectangle to ControlXYGrid.
Improved the motion and user interface classes to use addDataBinding instead of accessing the dataBinders property directly.  Moved the private variables into the implementation files.
Cleaning up the attitude code.