Core: extend DeepaMehtaObject API (#522, #505).

The DeepaMehtaObject base interface specifies a new method:
{{{
void loadChildTopics(String childTypeUri)
}}}
It loads the object's childs specified by its type URI.
If the childs are loaded already nothing is performed.
Can be used for both, "one" and "many"-valued childs.

This method is of interest for Viewmodel Customizer implementers (see #505).

See #522.
Use composite values for in-map rendering (#505).

View Customizer Framework:
The client-side TopicViewmodel and TopicView objects expose the underlying topic's "composite" property.
Thus view customizers can involve the topic's composite value for rendering (not just the topic label).

To do so a server-side Viewmodel Customizer is required to provide the desired composite topic values, that is to load certain child topics (by using Topic's new loadChildTopics() method), e.g.:
{{{
@Override
public void enrichViewProperties(Topic topic, CompositeValueModel viewProps) {
    if (topic.getTypeUri().equals("dm4.notes.note")) {
        topic.loadChildTopics("dm4.notes.text");
    }
}
}}}

In this example for all Note topics contained in the topicmap the note's body text is loaded and thus becomes part of the topicmap sent to the client.

At client-side the View Customizer access the note's text like this:
{{{
if (topic_view.type_uri == "dm4.notes.note") {
    var text = topic_view.composite["dm4.notes.text"].value
}
}}}

See #505.
Change "on_update_view_properties" trigger (#505).

View Customization Framework:
The "on_update_view_properties" hook is invoked additionally once a TopicView is instantiated.
This is the same invocation pattern as with the "on_update_topic" hook.

Thus DOM based view customizers can call its view-prop-synching behavoir from 1 location only.

See #505.
Expand canvas view facade by update_topic (#505).

View Customization Framework:
The canvas view facade (as passed to a view model customizer) has a new method
{{{
update_topic(topic)
}}}
A view customizer calls this method to update the view e.g. once topic childs are loaded in response of clicking an expansion handle.

It updates the TopicViewmodel and the TopicView according to the changed domain topic, fires the "on_update_topic" customizer hook, renders the canvas, and (in case of a DOM based customizer) repositions the topic DOM.

See #505.
Reposition topic DOM on view prop update (#505).

View Customization Framework:
After invoking the "on_update_view_properties" hook the framework adjusts the position of the topic DOM. This allows view customizers to perform size affecting topic DOM manipulations within "on_update_view_properties".

E.g. when an expansion handle (whose state is stored as a view property) is clicked the size of the topic DOM changes. The customizer must not care about repositioning the topic DOM.

See #505.
Merge branch 'master' into pax-web