- don't change original <select> any more (adding -select all- option): this alters POST-data and may break existing external JS 
- Button says -all- when all elements are selected 
- Option to add -select all- automatically if more than x options are present 
- buttonText() only returns text itself, html for caret is added in updateButtonText()