CMS-2863 Make all input types support validity change event and inputs ...

...support value change event

 Create enums for event names and make addListener and removeListener definition stronger