[Design] Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
Not sure I agree with throwing here actually... format is not the oddest html attribute to be supplied, what if a user was trying to use a normal `<input format="foo">` element where format attribute was consumed by JavaScript?