[Design] Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
Don't see the value in exposing this prematurely as an extensibility point.  If we release this and users ask for it we can add it later.