Input filter annotation fix

This PR fixes an issue with the InputFilter form annotation, when applied to a form it causes the annotation builder to totally ignore any element level validation. 

This fix allows the annotation to take an array option, if it is specified as an array, element level validation is merged with the form level input filter options. 

The main purpose of this is to allow specifiying a custom input filter type that has different behaviour to the default without having to create form specific validation and filtering rules within that class.
I'd still have to limit the merge into 2.4, as there is still a signature change. I agree that most users won't be affected by a change like this, but that's exactly why we move every chance of BC break into minor or major versior bumps.