Project cleanup

This pull request encompasses a restructuring of files. It created a new module named ui which contains all ui related classes/files. All imports are updated to reflect the change. 

@Sperovita I am not sure what is coming down the UI pipeline so I branch this out and submitted as a pull request.