Create a combo box widget

Changes:

TextInputWidget.js
* Added optional icon and indicator using mixin, replacing the ad-hoc
  icon implementation
* Added icon and indicator events which fire when the icon or indicator
  is clicked

MenuWidget.js
* Fixed toggle to actually toggle

ComboBoxWidget.js
* New class, a mixture of an indicated TextInputWidget and MenuWidget.
  Provides a drop-down type menu while allowing the user to specify a
  custom value. Intended to be used for VE's reference group input,
  among other things.

GroupElement.js
* Added isEmpty method for convenience

Bug: 61573
Change-Id: Ic5b939256eda6e0fa6d9f5c9ce4127abec499292