The dependency scanner currently uses ClangTool to invoke the dependency scanning action.
However, ClangTool seems to be the wrong level of abstraction. It's intended to be run over a collection of compile commands, which we actively avoid via SingleCommandCompilationDatabase. It automatically injects -fsyntax-only and other flags, which we avoid by calling clearArgumentsAdjusters(). It deduces the resource directory based on the current executable path, which we'd like to change to deducing from argv[0].
Internally, ClangTool uses ToolInvocation which seems to be more in line with what the dependency scanner tries to achieve. This patch switches to directly using ToolInvocation instead. NFC.