fix(required): `false` is a valid model value when not a checkbox

Make the `required` directive accept the model value `false` when it is
not an <input> element or when the <input> element is not a checkbox

Closes #3490 #2594