dmabuf: Split out GdkDmabuf and GdkDmabufDownloader
GdkDmabuf is a struct encapsulating all the values of a dmabuf, so nothing to see here.
GdkDmabufDownloader is a vtable for a thing that can download dmabufs. For now only one implementation exists, so this just looks like a ton of work for no benefit.
The only neat thing is that gdkdmabuftexture.c got a whole lot tidier.