As we're talking about dropping GTK2, here's a shot at cleaning things up. I intentionally kept some of the infrastructure to support more than one version for when we'll start GTK4 support (even though I don't yet know how that would look like) so it's a little easier; but all GTK2-related stuff should be gone.
One noteworthy thing that isn't completely gone is *gtkcompat.h* header: I dropped all actual use from Geany itself, but for the moment I have been conservative on removing it from anywhere plugins could be reaching it from.