Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
can't wait for `out var ...` to be back! :smile: