Create a mutex for UI that will help make it possible to run handlers that update UI elements on seprate threads.
its far from perfect but should hold up for now.
had to make sure the getters properly calculated layout before retrieving values.
Add a Tab class to allow for better control of adding content into the tabs and managing the contents once its in there.
Use setting class to do a quick demo of the OnShow code abilities. This could be useful for things like settings pages that need to load up HW resources when they are shown but then can power them down when they are hidden.
Make Tabview a friend of Base Page to allow it to notify pages that they are hidden or showing.
Implement the notification in Tabview to allow pages to know they are showing.
This will allow for easy creation of "pages" that can be layed out internally and passed to different screens and cleaned up when screens are cleaned up by the screen manager
add set width and height to base elements that allow for easy resizing
Create a settings page and make it red.
Test adding 2 tabs with the Page
this currently does not do anything fantastic on simulator but it sets a strong foundation for managing multiple pages