Adding Average Dot Product Map module which allows users to generate and display average dot product maps
Changed GLImageViewer into a generic superclass and added a new PatternImageViewer subclass that has minimum and maximum keV values and an overlay for that information. This allows us to use the base functionality in the GLImageViewer class for viewing other types of images that may not have keV values.
Changed the theming system so that users have a choice between Default, Light, and Dark.