Support self-closing elements
Merge pull request #53 from mixonic/self-closing

Support self-closing elements
Frames now track the parent node
Clean up the Morph packaging
Merge pull request #54 from mixonic/cleanup-morph

Clean up the Morph packaging
Refactor DOMHelper, introduce contextualElement

Template execution now requires both hooks and the dom to be passed in.
For example:

    template(context, {hooks: hooks, dom: new DOMHelper()});

Optionally, you can provide a contextualElement to the DOMHelper. This
will allow it to resolve un-escaped HTML rendering issues:

    var template = compile('{{{html}}}');
    var tableElement = document.createElement('table');
    template({html: '<tr><td>Yo</td></tr>', {
      hooks: hooks,
      dom: new DOMHelper(tableElement)
    });

When block or component hooks are called in hydration, they are passed a
DOMHelper instance with the current contextual element. This allows
templates like:

    var template = compile('<table>{{#test}}{{{html}}}{{/if}}');
    template({html: '<tr><td>Yo</td></tr>', {
      hooks: hooks,
      dom: new DOMHelper(null, document)
    });

To run properly. The `test` helper just needs to pass the env (which
contains the proper contextual element) through to the inner render.

This code also prepares htmlbars for changing namespaces based on the
AST.
Move DOMHelper into the morph package
Merge pull request #52 from mixonic/tr-nested

Refactor DOMHelper, introduce contextualElement
Document the compiler function, drop un-used options
Title the test file
Add a demo of using the compiler & templates