Ongoing Viewer widget work.

Add ability to control which widgets are created at construction time.  Also properly implement destroy and clean up some Timeline code to allow it to be destroyed.