Ignore SelectWidget mouseup events that started outside the widget

When pressing the mouse down from outside the widget, selection shouldn't
occur if the user drags into the widget and mouses up.

Changes:
* Button elements can be configured not to return false on mouse down
* Only bind mouse move and mouse up events after mouse down on a select,
  and unbind them on mouse up - this actually saves a lot of useless event
  handling too

Change-Id: I5d17555aa3a85cb951c7f77a3480f7a3b0d8920c
Merge "Ignore SelectWidget mouseup events that started outside the widget"