Checkbox fixes

Currently, the `checkbox_row` block nests a label inside a label, which is against HTML standards.  There is also no way to tell if a checkbox has an error (such as when you require one to be checked for TOS acceptance) without using error_bubbling on your form.  This PR introduces a fix for both of these issues.