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.