Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
... because we're dealing with expressions, not looking data up in `ViewData`. the MVC tag helpers are analogous to the `@Html.BlahFor()` methods, all of which ignore `ViewData`.
FYI the corresponding `@Html.Blah()` methods (that take a string) give precedence to `ViewData`.