Control widgets

Work to
 
 - make a higher level set of widgets for our use
 - make an easier to use layer above QT to simplify making control boxes
 - convert examples/existing messengers to use this code
This 'auto_scale' argument is not being added as a label when I run your PR in windows