Clean up includes and components
Currently, our includes are messy, meaning that the components/apps aren't properly split/isolated. This has an impact on compilation time, and hinders large-scale refactoring.
For example, esmtool
depends on MyGUI somehow :/