Why not use the return value of getCustomViewerForPath, then we can remove the ImageViewer require statement now and are one step further towards an extensible API, i.e. 
~~~~
            var customViewerProvider = EditorManager.getCustomViewerForPath(fullPath);
            if (customViewerProvider) {
                var $imageHolder = customViewerProvider.getImageHolder(fullPath);
                EditorManager.showCustomViewer($imageHolder, fullPath);
                result.resolve();
~~~~