Merge remote-tracking branch 'origin/issue1603' into visualizer-refactor

Conflicts:
	Source/DynamicScene/DataSourceDisplay.js
Factor out Visualizer interface

It turns out a `Visualizer` instance only needs `update` and `destroy` functions.  Also start cleaning up other visualizer to conform to the interface and remove uneeded cruft.
Add an offset to the grid material.
Merge remote-tracking branch 'origin/master' into grid-offset
CHANGES.md
Merge branch 'dataSource-refactor' into kml

Conflicts:
	Apps/CesiumViewer/CesiumViewer.js
	Source/Widgets/Viewer/viewerDragDropMixin.js
Add Int32Array and Uint32Array support to ComponentDatatype

Fixes #1647
Fix typo in comment.
Specs for ComponentDatatype
Merge remote-tracking branch 'origin/master' into issue1647
Changes after review.
Merge branch 'master' into issue1647
Properly compute numberOfVertices when unpacking geometry indices.
Merge remote-tracking branch 'origin/master' into issue1647
Merge branch 'master' into visualizer-refactor
Ongoing visualizer cleanup.
Cleanup Visualizer-related documentation.
Update CHANGES
Remove TODOs
Merge remote-tracking branch 'origin/master' into grid-offset