Reimplement API more in line with component/menu and to simplify
so that only necessary internal logic is included:

- do not append el to document
- only single opts arg passed to constructor
- buttons are identified by slug, not position
- set -> select, unset -> deselect
- add remove(); and emit 'remove'
- add() only add one button per call; allow passing slug and onclick
  handler (similar to component/menu)
- emit <button slug> event on clicking button after select

Update test/index.html test page

Update component.json (remove template-button.js local dep).
doc adds
add test of button slug-name event firing