I agree that GUIs have gotten more complicated nowadays, but I don't think the existence of platform-specific APIs is mutually exclusive with cross-platform abstractions. If anything, you should be able to specialize behavior for a certain platform.
I agree, but no one has done it successfully either. In wxWidgets any non-native widgets look very out of place. Some of the ones on Qt do as well. Neither of them that I've seen try to map to the more exotic widgets, but invent some of their own.