Vetala in Maya 2017

Got Vetala working in Maya 2017 tonight.

Maya 2017 has changed in some significant ways.  
In order to support Qt 5 Maya now uses the PySide2 module and shiboken2.

In PySide all the Qt widgets were in PySide.QtGui.  In PySide2 many widgets are in PySide2.QtWidgets.
To deal with this I had to change my imports.
Before I was importing:
from PySide import QtGui

Now I import like this:
from PySide.QtGui import *

and if I'm in maya 2017
from PySide2.QtGui import *
from PySide2.QtWidgets import *


This way I don't have to write an if statement for every widget that used to be in QtGui but now is in QtWidgets.

shiboken2 works like shiboken.
In versions prior to 2017:
from shiboken import wrapInstance

In Maya 2017:
from shiboken2 import wrapInstance

I was thrown off at first because Autodesk didn't update the documentation.
But this page should make sense if you make the appropriate substitutions.  PySide2 instead of PySide, and shiboken2 instead of shiboken. 
PyQt and PySide Widget Best Practices