Added widget class and integrated alignment loop into panelbar class
Seperated the formatting of the output into a seperate class
Moved positioning back to the PanelInput, and made th einput take an optional function  to operate on the input