Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
Competely agree not now, just saying eventually :smile: