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.