Added null check against images given via constructor.
Clarified comment about image centering logic.
Added test cases for the `Viewer` class constructor.

Also, fixed the `Viewer` class so it will throw an NPE when
the constructor is not given any images.