The Great Button Refactor of 2014

Changes:
* Make button functionality and styles more reusable by refactoring it
  into ButtonedElement which embeds a button into an element
* Introduce ButtonSelectWidget, which uses ButtonOptionWidget items
* Merge PushButtonWidget and IconButtonWidget into ButtonWidget, making
  frameless styling a config option
* Add icon and indicator options for all buttons
* Simplify toggle switch to no longer embed labels or use mouse dragging
* Simplify toggle button to no longer support separate labels for on/off
  states
* Update demo to exercise these changes and new features

Change-Id: I272515c94d89eb1a3ce07f3b1ba4c358d56ec351
Merge "The Great Button Refactor of 2014"