Update active button(s) on change of original select

This provides a basic two-way binding between the button groups and the original select. Also, added an option (buttonElement) - in a backward-compatible manner - to choose the HTML element to be used in the button group.
Fix previous error by using value at array index instead of array index
Activate button only if option is defaultSelected instead of selected

This fixes the problem where, when removeEmptyValues is true, the first button gets activated even though it's option was actaully not selected simply because it's corresponding option gets automatically 'selected' due to removal of options prior to it. Using defaultSelected along with the newly-introduced 2-way binding ensures that a button gets activated when an option was actually already selected through a selected="selected" attribute, or by a script running after the toggleization.