surface: keep metadata (aka create command) in device memory.
surface: keep metadata (aka create command) in device memory.

With this patch applied the spice server will not release surface create
commands for the whole lifecycle of the surface.  When the surface is
destroyed both create and destroy commands are released.

This has the effect that the surface metadata (size, depth, ...) is kept
in qxl device memory.  This in turn makes it alot easier for qemu to
handle savevm/loadvm.  It just needs to do some minimal command parsing
and maintain pointers to the create commands for the active surfaces.

Fantu/spice,fgouget/spice,virtualAMP/spiceplay,mathslinux/spice,ya-mouse/spice,fgouget/spice,elmarco/spice,virtualAMP/spiceplay,dezelin/spice,virtualAMP/spiceplay,Fantu/spice,SPICE/spice,freedesktop-unofficial-mirror/spice__spice,elmarco/spice,freedesktop-unofficial-mirror/spice__spice,elmarco/spice,virtualAMP/spiceplay,alon/spice-server,dezelin/spice,freedesktop-unofficial-mirror/spice__spice,Fantu/spice,alon/spice-server,mathslinux/spice,SPICE/spice,dezelin/spice,dezelin/spice,elmarco/spice,freedesktop-unofficial-mirror/spice__spice,alon/spice-server,Fantu/spice,mathslinux/spice,ya-mouse/spice,ya-mouse/spice,mathslinux/spice,alon/spice-server,alon/spice-server,SPICE/spice,elmarco/spice,dezelin/spice,fgouget/spice,freedesktop-unofficial-mirror/spice__spice,mathslinux/spice,fgouget/spice