Add glib refcounting to gtk widgets, fixes #35

Needs some discussion regarding `impl Clone`. I know Jeremy dislikes this approach but I think it can make sense. 

Conceptually a gtk widget (Button, Window etc...) in rust can be thought of as a reference to the concrete widget on the screen. In that sense a `clone` makes sense and just gives you another reference to the concrete widget.

On the other hand this may be confusing to users, where they expect an whole new Button or Window in case of a clone, in this case we should implement something like `widget.reference()` to do the same. This has the disadvantage of being non obvious in the sense the `Clone` is pretty populair trait.

Let me know what you think,