3.0 checkbox

Part of #2667. This set of changes updates the checkbox() method to use the new widget classes. Next I'll do button and label as they are short and should be quick to do.