CheckBox cannot be displayed for error reporting after they fail validation

Whenever a CheckBox field fails validation it cannot be displayed back for error reporting.
This is due to ```CheckBox.prepare``` calling ```self.validator.to_python``` with the value that recently failed validation resulting in a crash (the value just failed validation, trying to convert it to python will just fail again).

The call to ```self.validator.to_python``` is probably there so that values like **"false"** get treated as False and don't flag the checkbox as checked as they would with a simple ```if value``` check. So removing the ```self.validator.to_python``` call is probably not an option.

The pull request provides a test unit to expose the issue, but as it is not clear to me the expected behaviour I didn't provide any specific fix.