Widget tweaks

1. Fixes #608 by adding a render counter and always resizing the window every 60 frames.
2. Add a `useDefaultRenderLoop` property and constructor option to `CesiumWidget` so that users can turn on/off the default render loop at will.
Changes after review

1. Use frameNumber instead of a separate counter for determining when we should resize.
2. Have Viewer disable the default render loop and use it's own.
3. Expose `useDefaultRenderLoop` on Viewer as well.
Update CHANGES.
Fix copy/paste error.
Declare members in the constructor.
Cleanup variable initialization order.
More doc
Log unhandled exceptions from startup
Optimize resizing for Viewer and related widgets.

`Animation` and `Timeline` no longer listen to `window.resize`.  Instead the `Viewer` resizes them as needed.  Also added checks to avoid unecessary resizing when the current size and new size are identical.
Hopefully final code changes to make Viewer resizing work again in all cases.
Fix typo in documentation.
Moew resize cleanup

1. Make Specs issue resize and add specs that combine cases that were causing resize to throw.
2. Observe `fullscreenButton.viewModel.isFullscreenEnabled` so that we can hide/show the button as needed.
3. Replace some hard-coded values with clientHeight/clientWidth;
Merge branch 'master' into widgetCleanup
Ad `onRenderLoopError` events to `Viewer` and `CesiumWidget` for exceptions generated by the default render loop.  Also add code to prevent multiple render loops from being started simulataneously.
Paint the bike shed blue.
Remove unused module.
Fix missing px when setting style.
Merge pull request #870 from AnalyticalGraphicsInc/widgetCleanup

Widget tweaks
Alert the error too.
Merge pull request #872 from AnalyticalGraphicsInc/logCesiumViewerError

CesiumViewer: log unhandled exceptions from startup