Move public Enums and Types into their own module
Use GUIDs to create a unique session ID for each PD instance

Still need to tie this into Undo/Redo filenames (and a few other
places), but as of this commit, the session ID function works nicely.

(Also, some code refactoring was necessary to migrate all disparate GUID
uses into a single public type.)