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
 - [x] 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

I guess we should follow the SOP and put the regex into a variable to the top of the file, so we don't recompile it.