gsk: Dispose the driver when the display is closed
This was the intention, but the object data by itself does not achieve that: We do run dispose on the display when it is closed, but object data is only cleared in finalize. So listen to the ::closed signal and remove the driver ourselves.
Fix up the drivers dispose implementation enough for that to actually work.