Began abstracting UI code into separate module

This makes it possible to run Houdini centric tools in Maya and
vice-versa. The Houdini tools are almost all ported over. However,
the Maya tools are not yet abstracted (i.e. all the Maya UI stuff
is hard coded into the Maya utilities themselves).

This is the start of a general refactoring of code to clean up the
pipeline tools in general.