Adding "declarative custom tags" into HTMLCanvas.

This adds `HTMLSnippet` class which collects all
```
<tag html-snippet="quux">
  ...
  <innertag html-snippet="*" />
  ...
</tag>
```
structures in the page and detaches them. Then it allows to use
```
  html quux with: [ html p with: 'Text' ]
```
to render
```
<tag>
  ...
  <innertag><p>Text</p></innertag>
  ...
</tag>
```
in the page.
Thus, you can define pieces of page structure declaratively
in html and use whole snippets as selector in HTMLCanvas.
The tag with `html-snippet="*"` becomes the "caret", that is,
it is simulated as if it was just added and you can continue
with `with:`, `at:put:` etc.
Removed doesNotUndestand:, installing snippets directly.
HtmlSnippet >> initialize to set up snippets automatically
Canvas-Snippet: Moved to Canvas package.
Made refactorings as required.

  - Add a class comment on HTMLSnippet
  - Rename HTMLCanvas >> snip: to #snippet:
  - Cleanup HTMLSnippet class-side initialization (extract current initialization into an instance-side method maybe?)
  - Exctract lazy initialization of 'snippet' inst var to an accessing method
Merge pull request #347 from herby/snippet

Adding "declarative custom tags" into HTMLCanvas.