Button Re-write

This replaces PR #1216 

This includes new widget controlgroup which replaces buttonset
Current known issues 
 - [x] Checkboxradio testfailure missing default element (@scott_gonzalez said it should not have one because it cant be sane ) this causes common tests to fail
 - [ ] Backcompat: Draft this on the wiki
 - [x] Controlgroup icon only buttons 1px too short in chrome, firefox extra weird @jaspermdegroot think you could take a look?
 - [x] demos/controlgroup/default.html As above, labels should demo something
 - [x] demos/checkboxradio/default.html doesn't have the "command line" anymore, but still doesn't look like a demo. Labels should reflect some real world usecase.
 - [ ] demos/button/icons.html still looks like a visual test, not a demo

@arschmitz I do not have a good example - but a toolbar role is simply a group role and all group roles SHOULD have a group label. Enforcing the addition of a label through the API is a good idea if also supported by documentation as to why this is required. Otherwise you might simply get people entering "Toolbar" and you end up with duplicate labels which also defeats the purpose.