refactor: compiler tests

to be more readable and easier to debug
refactor: remove trailing spaces in peg file
feat(syntax) mandatory `<script>` tag for JS content
feat(syntax) enable top-level HTML comments

Now it's possible to have top-level HTML-style comments in the hsp file:

```
<!--
this is
a comment
-->
```

They're emitted at parse time, and discarded at syntax generation time
(replaced with newlines, to keep the 1:1 line mapping between input and
generated file, we may change that in the future).
chore: update SauceLabs browsers list

Close #311
fix #312 Update peg dependency?

Close #313
$onContentRefresh for custom attributes

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

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

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

Closes #306