(closes#4536)
This avoids binding the viewer to an image key that might not be
fully processed, which gets the viewer into a bad state.
Instead, we initialize the viewer with a `null` image key and
issue `moveToKey` immediately.
This commit also adds exception handling for moveToKey.