less use of getMarker() at least make maybeMarker more atomic for each function
- scope.markerModelsUpdate to force delayed updates on windows. Instead
  of windows (when dependent on markers) watching models we watch a
simple change counter. The change counter indicates that Markers is done
doing work, and then Windows can proceede to do its processing. This way
a gMarker is sure to be available without a race of windows to markers.

build all