Enable asynchronous geometry processing in DynamicScene.

1. GeometryVisualizer now creates static geometry asynchronously.
2. `Clock.canAnimate` was added to prevent the clock from advancing time even when `shouldAnimate` is true
3. Visualizers' update functions now return a boolean value indicating if it is okay to advance time.
4. `DataSourceDisplay.update` now returns false if any of the visualizer update calls return false.
5. The `Viewer` assigns `Clock.canAnimate` the result of `DataSourceDisplay.update`, which prevents time from animated if asynchronous geoemtry is processing.
6. `Viewer.allowDataSourcesToSuspendAnimation` was added to control this behavior in client apps.
Merge branch 'dynamicScene-buffering' into dataSourceBrowser

Conflicts:
	Source/DynamicScene/DataSourceDisplay.js
	Source/DynamicScene/StaticGeometryColorBatch.js
	Source/DynamicScene/StaticGeometryPerMaterialBatch.js
	Source/DynamicScene/StaticOutlineGeometryBatch.js
	Source/Widgets/Viewer/Viewer.js
Default allowDataSourcesToSuspendAnimation to true.
Update CHANGES.
Merge branch 'dynamicScene-buffering' into dataSourceBrowser