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.