Changed the type of the model properties of various interfaces from (string | Object) to (string | { [key: string]: any; }).
This change is to improve usability. While (string | Object) is correct and corresponds literally to the angular-formly docs, it does not allow for meaningful use without type casts.
Also corrected some formatting to match the prevailing style used in the file.
Changed the type of the data property on the IFieldGroup, ITypeOptions, IFormOptionsAPI, and IFieldConfigurationObject interfaces from "Object" to a hash of string to any. While Object was not incorrect, it made use without a cast a type error in all but the most trivial cases.
Changed the types of the ```ITemplateOptions``` properties ```onBlur```, ```onChange```, ```onClick```, ```onFocus```, ```onKeydown```, ```onKeypress```, and ```onKeyup``` from
```TypeScript
string
```
to
```TypeScript
string | IExpresssionFunction
```
string | IExpresssionFunction
The field configuration object supports a property called `ngModelElAttrs` which allows you to place attributes with string values on the ng-model element. It's a straightforward alternative to ngModelAttrs and was implemented as a result of this issue: https://github.com/formly-js/angular-formly/issues/378#issuecomment-127211353