Rework expression and context handling

* Support more context members

* Support n-ary function calls and references to model vars in object
  parameters

* Change tassembly format to require prefixed variables throughout, and
  evaluate those with local definitions and the context object. This also
  avoids the need for slow Object.create for contexts. Expression rewriting in
  PHP should be straightforward based on the rewriteExpression function
  defined here.

* Add a simple test from the benchmarks, real testing TODO

* Recursive contexts not converted yet, left for a follow-up patch on branch

TAssembly context vs. Knockout binding context
------------------------------------------------
p / $parent: parent view model ($parentContext.$data)
ps / $parents: array of parent contexts, top last
pc / $parentContext: parent binding context (contains .$index etc)
rm / $root: root view model ($data)
m / $data: current view model
i / $index: in foreach bindings, current index
c / $context: current scope / binding context

rd / $rawData: unwrapped $data, translate to $data
$element: current element, does not make sense in Knockoff

http://knockoutjs.com/documentation/custom-bindings-controlling-descendant-bindings.html