allow different binding strategies via implicit BindingFactory

- Propagate the use of binding throughout Handlebars-scala (IfHelper, EachHelper, etc. use them operate on values)
- Clean decoupling between which data to access and how to access it