clean up ViewPager and PageSelectGroup update patterns by making all track pages inheret from a new TrackPage class that implements TrackListener.  Instead of calling update on every page, only update the current page.  Also, add a new listener type, PagerListener, to be notified when a ViewPager's page changes