Webclient: shared context menu code pt.2 (#602).

The method `dm4c.open_context_menu(commands, pos)` (introduced in previous commit) is replaced by 3 methods:

Webclient API:
{{{
dm4c.open_topic_contextmenu(topic_id, pos)
dm4c.open_association_contextmenu(assoc_id, pos)
dm4c.open_canvas_contextmenu(pos, p)
}}}

These methods are available to several topicmap renderer implementations. So the renderers must not obtain the commands and pass them to the menu but can instead rely on these high-level methods.

See #602.