Updated the gui init etc to use a layout struct to quickly setup new rectangles for the gui. Each component can use its rect as its bounding box for ui elements, each can set its own padding etc per panel
Very much WIP trying to find a good way to keep components self contained and composable.