Disclaimer: this is just a wild idea, don't take it too seriously. I have no idea what the implications of this would be. Also, some might call it a hack (it is).
While talking about #10, kennylevinsen has suggested a way to make
wl_registry versioned. We could keep object ID 1 as
wl_display v1 (which creates a
wl_registry v1), but also advertise the
wl_registry as a regular global, possibly with a higher version. This way, clients can bind to it and get extra functionality.
The annoying thing is that clients that are willing to use a higher
wl_registry version will need to bind twice (and will receive twice the list of globals).