fix(expressions): properly detect invalid expressions ending with ,
fix(expressions): provide detailed error msg for invalid pipe expressions
refactor: use Pratt'd parser for expressions in text nodes

Closes #286
test: add a test for a repeater and a global pipe

Fixes #281

Closes #284
adds custom attributes

Close #257
adds a handler for class attributes
adds a handler for model and value attributes

Close #257
fix #224 onChange timing issue - Firefox vs Chrome and IE

Close #228
updating api doc

updating hashspace template notation and added some missing paragraphs

Close #259
Make samples keyboard accessible

Close#169
refactor: use Pratt's parser for expressions in attributes

Closes #288
refactor: remove the biggest parts of the former expression parsing algorithm

Closes #296
refactor: remove expressions parsing from peg grammar

Closes #297
refactor: remove _invalidexpression blocks

Closes #298
feat(syntax) change {template} to <template>

First of the steps needed for the HTML syntax introduction
as proposed in https://github.com/ariatemplates/hashspace/wiki/HTML-Syntax-Proposal

This just:

1) changes `{template}` syntax to `<template>`
2) removes the support for the old `# template` syntax

(all changes to the parser, samples, docs and test are all in this
commit).

The rest of the changes (introducing `<script>` for JS part, making
`<template>` accept HTMLish attribs) are to come.
add tests to samples
add more tests to samples

fix #293
close #301
fix #293 SVG sample broken on playground

Close #303
fix #154 SVG attributes syntax

Close #291
fix(components) $dispose not always called

Let's consider a template like that
```
<template test(data)>
  <#data.ref />
</template>
```

When changing the component template behinf `data.ref` corresponding
`$dispose()` method (if any defined in the controller class) were not
executed.

Closes #306