Component Refactoring
closes #51
- Creates a Component base class that holds all information common to the components.
- Splits component locators from the components to fix header include order.