Refactored some UI page selection code

Added two new (currently empty) base classes for pages: CategoryPage and
CollectionPage. These also have static methods that output a specific
Page based on an ItemCategoryType value.

This isn't a full refactoring (there's more work to be done), but it's
currently stable so I'm committing it.