Use `of-type` in Input Groups instead of `child`

Using the `:first-child` and `:last-child` pseudo-selectors
in Input Groups assumes that there are no other elements
before or after the element selected.

That can be problematic when using something like `text-hide()`
to use a form label prior to the addon.

This could apply in other parts of the codebase, but at the
moment I'm only concerned with Input Groups.