Use our internal GError marshalling, instead of gtk2hs's one

In addition, we use our own GSList unpacking code, instead of the one
provided by gtk2hs.

As a result, we do not need to depend on a installed glib package
(provided by gtk2hs) anymore, so we drop the dependency from the cabal
file.

The System.Glib.Initialize file has also a single function, used for
wrapping GLib's type initialization. The namespacing is somewhat
confusing, so drop it, and just introduce the relevant foreign import
where needed.
Don't free the GList as we unpack it

Also remove some warnings coming from unused variables.