Tab refactor

Fixing a small bug in Tab widget that caused the page to navigate when selecting a tab. Also refactored Tab and Accordion code to have a selectTabs method. This method is used to select which tabs are to be active when a tab is selected by the user. Doing this through a method is less error-prone than overwriting event handlers and provides an easier way to integrate custom functionality.