New functions in widget

I don't think this List should be paramtrized with the implementor.
I think you should return a `glib::List<T>` where `T` must be a `traits::Widget`.