Core ui elements

Added a number of 'foundation' for the UI. These are mostly baseline additions that will make life easier when we start adding views etc...

Dave