cleaned up a load of the touch code base

Added function.js, which simplifies using functions dramatically.
This includes actions for extending functions with new methods,
calling methods in the future with a setTimeout,
currying, and other utility methods.
more improvements to function.js

* Extra documentation
* currying now includes parameters from the original
currying call, and from when the function is used later.
added 'toJS' sections to the doubleOp descriptions.