enfore minimum down state time

Force `ButtonBehavior` widgets to remain in the `'down'` state for a minimum period of time. This should ensure that the UI will updated to display the `'down'` state for a minimum period. Addresses part of issue #2443.