Fixed issue where scrollbars don't appear for large images.

When switching images from a small one to a large one which
doesn't fit the original screen, scrollbars should become
visible, but it does not, as the `getPreferredSize` method is
not being called. Adding a `doLayout` call on the parent
component appears to address that issue.