26902 Initial code review

Created a branch from the very first commit to be able to review the whole code written so far.
This does not mean that a merge should be done after the review is done, this is a "dummy" pull request.
I think I saw a direct PySide import in other parts of the code. If so, shouldn't we be consistent and use the same methodology everywhere, either direct PySide import or using sgtk helper ?