Made a new AMCustomizablePeriodicTable that can be used for periodic table models that need to enhance the periodic table but require more flexibility (ie: not being a singleton) and AMCustomizablePeriodicTableView as a base for customizing views.  Migrated AMSelectablePeriodicTable and AMSelectablePeriodicTableView to use the new classes.  Old functionality has been restored to both classes.
Made a range encapsulation of AMRange to minimize awkward code of passing QPair's of doubles for ranges.  There are still some legitimate uses of QPair in the program, but this should help a lot in readability of code.  Updated all obvious files to use AMRange where possible.