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.
In this instance I don't think it is an issue. The classes are used almost exclusivly within parsers and any behaviour within a parser which depends on the abstract parent of an annotation should now treat this class diferently as its function has been broardened.