Only move weak references into Closures
We move many widget into closures, which are then kept alive as long the callback exists. This can cause that widgets are never freed.
This could be a helpful macro: https://github.com/sdroege/rustfest-rome18-gtk-gst-workshop/blob/a4a6cfd6fecd5485498a307991aefd6da8ca47cc/src/macros.rs#L1-L14