templatized handling of graphics and video libvirt XML

Adding in template code which lets us completely customize the video/graphics configuration of vagrant-libvirt managed VMs.  This is useful for anyone running multiple GUI-based VMs, or in general with a GUI-based VM.

For example, with QEMU as the hypervisor, SPICE is a more attractive interface than VNC.

This fixes #238, and goes a bit further in templatizing more things.
@sciurus are right. autoport require fix for default and for configured vnc mode