Allocate framebuffer on unflippable-to-flippable transition

The previous_canflip system that was in place no longer works,
because DRI2 on the X side no longer checks serial numbers.

We need a new way to detect the situation where a framebuffer was
not created at CreateBuffer time (because the window wasn't mapped)
but then later becomes mapped and flippable.

After some experimentation I have settled on the assumption that Mali
always sends a GetBuffers request when such a transition happens,
which means we can hook into ReuseBufferNotify to be called at that time
and create the framebuffer.

This fixes a test case of running `glmark2-es2 --fullscreen` under
metacity with xserver commit 77e51d5bbb97eb5c9d9dbff9a7c44d7e53620e68
applied. Previously it was falling back to CopyRegion (fb never allocated),
now we allocate the fb once the window gets mapped shortly after launch.