Add support for an appended button as a target

If you want to use a button that is appended to an input, rather than
just a span, you cannot have both `btn` as well as `add-on` classes.
This change causes the component mode to attach to either a button, or
a span that has been appended to an input.