Webclient: HTML based topic rendering pt.2 (#505).

- Canvas-drawn topics are actually replaced by HTML topics
- Translating the canvas works

Not yet fully usable.

BREAKING CHANGES

1) The Webclient's DOM hierarchy (left panel) is changed:

{{{
div#topicmap-panel          // topicmap container, stays in document all the time, former ID was "canvas-panel"
    div.topicmap-renderer   // renderer-specific container, replaced when switching renderer, class is set by framework
        canvas#canvas       // in case CanvasRenderer is active: the <canvas> element
}}}

Before:
{{{
div#canvas-panel            // topicmap container, stays in document all the time, new ID is "topicmap-panel"
    canvas#canvas           // in case CanvasRenderer is active: the <canvas> element
}}}

2) The topicmap renderer developer is not responsible anymore to equip the renderers DOM element with the ID "canvas".

See #505.
Webclient: HTML based topic rendering pt.3 (#505).

In conjunction with the Box Renderer the new HTML-based rendering approaches the original (canvas drawn) state:
    - switching topicmaps work
    - topics can't exceed the topicmap panel space
    - long labels are wrapped

New hook in View Customizer Framework:
{{{
topic_dom_appendix(topic_view, topic_dom)
}}}
Invoked once the topic's DOM (as provided by the `topic_dom` hook) is added to the document. At this time the topic DOM is positioned and have a size. The customizer can use this information e.g. to add further geometry-dependent elements to the topic DOM.

BREAKING CHANGES

Webclient convenience method renamed:
{{{
dm4c.get_icon_src() -> dm4c.get_type_icon_src()
}}}

See #505.