Use widget's id as its __hash__.

Using `id` for a widget's `__hash__` is safe because `__eq__` only returns `True` if it is the same object. Fixes a `TypeError` in `ButtonBehaviour` `on_touch` methods in python3.