Commit 46 (Beta candidate)
New features and improvements:

- New {{props}} tag to iterate through fields/properties of an object:
  {{props}} {{:key}}:  {{:prop}} {{/props}}
  See http://borismoore.github.io/jsrender/demos/scenarios/03_iterating-through-fields-scenario.html

- Declarative event binding (documentation to follow soon):
  <button data-link="{on 'click' someMethod}">...

- Use of #index in a nested context (e.g. in an {{if}} block) now produces
 (in debugMode === true) a warning error indicating getIndex() syntax.

- (BREAKING CHANGE)
  Standardization of event handler signatures and this pointer
  In event handlers:
  > onBeforeChange event handlers now expect the standard (ev, eventArgs)
    signature –, where eventArgs includes the properties change: "change",
    oldValue:…., value:…
  > The 'this' pointer in onAfterChange onBeforeChange is linkCtx
   (which provides access to many other objects/APIs, including the
   view object, as this.view).

- (BREAKING CHANGE)
  The tag.onChange() event for custom tag controls using 2-way binding is
  no longer provided. The tag.onBeforeChange() can be used instead for
  most scenarios.

- (BREAKING CHANGE)
  Overriding of global helpers, templates, tags or converters:
  > resources specific to a template (e.g. a helper in the template’s
  helpers collection) now override resources of the same name defined
  globally (e.g. using $.views.helpers("myHelper", ...); ).
  > Helpers passed in as options override both template-specific and
  global helpers of the same name.

- A tag.onAfterBind() event is now provided.

- "Top-level linking": $.link(true, containerSelector, options) now allows
  passing in contextual helpers etc. as options, in the same way as
  tmpl.link(containerSelector, options);

- Several bug fixes

- Many new unit tests