More fixes for #2257 - simplified custom checkbox state handling, select event triggers

Rather than setting the custom checkbox's "checked" property manually and then triggering change(), we can just trigger the click() event, which will change the state and trigger change() as well.

this fixes libraries that listen to the onclick event, such as jquery validation.