animation: use widget.uid instead of widget, to prevent to store weakproxy.
widget: fix equality between widget and proxy by comparing proxy only