This is in preparation to modernizing our handing of exported symbols.
gcc has optimizations for include guards that only work if they are outermost in the the header. https://bugzilla.gnome.org/show_bug.cgi?id=689810
Move declarations to other headers, and introduce some new ones: gdkmain.h, gdkrectangle.h, gdkthreads.h.