Performance issues (Fix #291, Fix #447)

Previously the setSelected and setDisabled functions were run for every
single option on every click. Now setSelected is only run for the option
clicked on.
v1.4.3