Adding new UI classes with smart refresh

Hey there guys, so i decided to break these out into new classes using what Thomas had originally submitted and building off of it. it is not as efficient as i would have wanted - i was shooting for having just one container in the UI class and then positioning the grouped elements accordingly - but it was too hard to make it all work smoothly so i went back to what Thomas had and just extended things and added the refresh system in there to keep redrawing down to a minimum. let me know if this is usable. you can test it with this test scene: https://www.dropbox.com/s/cwjxhf6s5r6qpma/MultiresolutionTest.zip