Now caches state of already loaded viewers for quick re-display
Interface now includes larger viewer, is adaptive to viewport size
Layout now responsive, supports multiple viewers and does better with event binding