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
That is expected.  `_add_widget` (which I should make public api) just shoves the given widget in.  The first argument is the key you use to get the widget back out (`check_box = ctl_box['auto_scale']`).  

I have not written the label + checkbox widget yet.