"I as the compositor will provide you with either the screen buffer, or a client's buffer at your choice, preferably as a resource bindable as a GL texture, but SHM buffers are fine too".
What kind of "assumptions" of different compositors would make this troublesome? Either you can provide the above requirements, or you can't. That's it.
Oh, and I also wonder what kind of conditions would encourage developers to port/write their software for wayland. "Write one backend that works with all compositors exposing that interface" vs "first split my entire codebase into a library, then write 20 backends for each compositor out there". Hmmm..