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.
HTML Snippets refactorings
Renamed HtmlSnippet to HTMLSnippet
Refactoring anAssociation out.
Merge pull request #351 from herby/snippets-fixes

Refactoring anAssociation out.
Fix the remains of old name HtmlSnippet.

Renaming was wrong, probably.
Merge pull request #352 from herby/snippets-fixes

Fix the remains of old name HtmlSnippet.
Fixes #354.
Merge pull request #355 from herby/gh-354

Fixes #354.
Inlined HTMLSnippet >> snippetAt:put:

snippetAt:install: is the user-faced api.
Also removed HTMLSnippet >> snippetAt:ifAbsent:
which was only used in dnu handler.
- Fixed issue #356
- Added SetTest >> testComparing
Merge branch 'snippet-cleaning' of https://github.com/herby/amber

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Fixes issue #356
Using set equality in some tests where workarounds were before.
Merge pull request #358 from herby/using-set-equality

Using set equality in some tests where workarounds were before.