Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
:ok_hand: 
side note: remind me again why we created a new type (`TagHelperOutput`) that makes aspnet/Razor#186 worse? couldn't `TagHelperOutput.Attributes` have had the correct comparer?