After reading about the pimpl idiom I was horrified!
Isn't there a tool out there that can inspect a .h/.cpp file and deduce what dependencies could be waivered?
Sorry, but no there isn't. C++ still relies on preprocessing source files, very mechanical. Large-scale C++ development is all about reducing the dependencies. In my opinion, C++ is simply not suitable for those kinds of tasks.