Commit Briefs
some headers cleanup
try to not include headers from headers, and remove some redundant include. This helps in modularizing the codebase and also helps during incremental compilations.
move includes back to the root directory
Splitting stuff into sub-directories was just a big mistake.