begin a split into gtk and gtk3 packages

The whole business of toggling gtk3 support with a flag was dangerous and kind
of a bad idea:
* the interfaces for these libraries are significantly different
* it is not possible to have two versions of a library that differ only in
  build flag installed at the same time
* there are entire modules that are empty in one or the other version

So, now there are just two packages: gtk will be bindings to gtk2, and gtk3
will be bindings to gtk3. I've specialized them somewhat in this patch:

1. used unifdef to specialize #if's
2. wrote a quick haskell-src-exts program to find and eliminate empty modules
3. specialized to particular values of the flags in the .cabal file
4. manually did a little cleanup: don't mention Gtk3 in the haddocks for gtk,
   and don't include any deprecated definitions in gtk3

I'm sure there's dozens of places where the documentation isn't right any more,
but this is a first step, and at the very least they both build.
add the gtk3 package
start tracking the HCAR entry (I feel like we were doing this before, but I can't find where now)