libxl: add basic spice support for pv domUs

This patch adds basic spice support for pv domUs.
The qemu parameters are the same as the hvm ones and they works.
Therefore xl cfg paramters are the same as the hvm ones except that
features not supported yet by pv domUs (vdagent and usbredirection)
are kept disabled by default.
It also enables vfb and vkb required to have basic spice working.

Notes:
- The vfb part is only a draft and needs to be improved.
- Patch is tested and working, except for the pointer not
  visible in some cases with pv domUs but always working.
- I not use the api, test the u.hvm.spice retro-compatibility with
  api is needed.

Any feedback is appreciated.

Signed-off-by: Fabio Fantoni <fabio.fantoni@m2r.biz>

---

Changes in v5:
- libxl_create.c: * don't copy u.hvm.spice in the newer if
  the newer is already used
  * set default for all spice bool options in any case
  * spice features not supported in pv will be disabled and
  will show a warning about them if was setted enabled
- xl_cmdimpl.c: parse all spice options out of hvm part

Changes in v4:
- added libxl.h changes
- libxl_create.c: added older u.hvm.spice compatibility
  copying it in newer one

Changes in v3:
- xl.cfg.pod.5: moved spice out of hvm section and specified
  the features for now hvm only.
- libxl_types.idl: added spice struct out of keyedunion hvm only.
- use new generic spice struct instead of hvm only ones.

Changes in v2:
- xl_cmdimpl.c: always set vnc and sdl toplevel parameters in &vfb
  with vnc or spice enabled on pv domUs otherwise in some cases it
  would fail with error for one bool default value missing.
- libxl_dm.c: do not add -nographic if spice is enabled, even though
  -nographic seems buggy in upstream qemu.