Revert "don't track .idea files"

This reverts commit 8799d8518e4e39bf7133cb8f8aa113b8cc9d9cfe.
Major refactor; moved most of the code in Main to RootViewController. Main is responsible for calling RootViewController to initialize the layout, as well as acting as the bridge between RootViewController and CommandController.