dynamic template path support

This pull request introduces the support of dynamic path for sub-templates and components 
(and therefore it also fixes issue #11)

This feature can be useful to dynamically change a view through a sub-template:
```
var $set = require("hsp/$set");

# template test(ctxt)
  <div><a onclick="{swapTemplate()}">Change template</a></div>
  <#ctxt.view ctxt="{ctxt}"/>
# /template

# template tplA(ctxt)
  <div class="msg">
    A: {ctxt.msg}
  </div>
# /template

# template tplB(ctxt)
  <div class="msg">
    B: {ctxt.msg2}
  </div>
# /template

var ctxt={
    view: tplA,
    msg: "Hello World",
    msg2: "Always look on the bright side of life!"
}

function swapTemplate() {
    var newtpl=(ctxt.view===tplA)? tplB : tplA;
    $set(ctxt,"view",newtpl);
}

// display the template in the #output div
test(ctxt).render("output");
```