Abondon the use of `weakref` in `boundevent`

- weakref does not have the correct semantics for bound methods. A bound
  method should keep the object alive, as long as its alive! This is not
  the case for a weakref-powered `boundevent`
- the use of weakref enforces the target class to have the __weakref__
  attribute. Classes with __slots__ do not have __weakref__ by default.