Add initial semantic-layout prototype.

Semantic-layout takes a JSON specification of containers
with properties such as 

{
"left": "model.right", 
"height": "model.height / 2"
}

and lays out the containers appropriately and populates
them with components.

The layout takes into account the sizes of the components,
currently just placed in flow-layout.
Add multi-row definition for components.

components: [[x, y], [z]] will place x and y on one
row, and z on a second row.
jsHint fixes
Add examples pull-down
Add semantic-layout and templates to layouts

[#43484407]
WIP: Use semantic-layout to layout out components.

Currently this is always use a default template ("simple").

Note: model currently does not resize correctly.

[#43484407]
Test with setting margin instead of padding

[#43484365]
Add ability to select different templates in interactive json.

Note, this will need adding to the interactive metamodel.

[#43484567]
Add semantic layout link to index

[#43484365]
wip - fix resize of model for semantic layout system
w/no size ModelView container bases height on width
use JQuery to set width of outerElement
restore correct version of MD2D Renderer