A few more correctness fixes

Here we have:

* recompilation reasons
* -osuf / -hisuf support
* include dependencies support
* a final `ghc --make` run

With these changes, we finally get fully correct builds (at least as correct as GHC itself); #9 is fixed by this.

The final ghc pass can probably be significantly accelerated using the ghc server.