Form validation

This PR will implement form validation on Linz edit and create forms. The form validation will provide the following:

- [x] enhance HTML5 validation
- [x] provide validation for `checkboxes` widget
- [x] provide appropriate validation messages (such as 'Please enter a valid email address', for the `email` widget)
- [x] allow customisation of the validation messages

This PR won't:

- provide validation for form filters