Signals, GDK and refactoring

Hi Jeremy,

Nearly all GtkWidget signals have stubs and a lot of gdk structures are implemented. Also some refactoring changes, i think this makes the codebase more clear. I'm not sure if the signals are memory safe this way but its a start I think.

fixes #3

Let me know what you think