Split the model class into separate modules.
Added LinkedObject class.
Merge remote-tracking branch 'IDgis/master' into client-mapmodel
Implemented linkedCopy: copy-on-write copies of stateful objects and
arrays that keep a link to the original.
Moved registry to Geoide core project.
Created stateful map model that can be populated from a JSON object.
ViewerBase uses new map model.
Viewer mutates the layer state through the new map model. Changes in the
map model trigger an update of the map.
Merge pull request #4 from IDgis/client-mapmodel

Client mapmodel