[Design] Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
With the exception of this guy we could potentially make the rest of these statements be a dictionary lookup couldn't we?