fix(input): always format viewValue as a string inputs with text controls

Backported from 1eda18365a348c9597aafba9d195d345e4f13d1e

NgModel will format all scope-based values to string when setting the viewValue for
the associated input element. The formatting, however, only applies to input elements
that contain a text, email, url or blank input type. In the event of a null or undefined
scope or model value, the viewValue will be set to null or undefined instead of being
converted to an empty string.

Closes #5936
Closes #9277