lldELF is used by each ELF backend. lldELF's ELFLinkingContext
also held a reference to each backend, creating a link-time cycle.
This patch moves the backend references to lldDriver.
Here's a link-time dependency diagram for what is implemented here: http://yuml.me/324beed8.
I don't agree that this is a good idea. We should generally avoid transitive inclusions. If a source file depends on a bunch of headers, it actually depends on all of them. Hiding that dependency by replacing with one #include doesn't make things clean but makes things slightly worse.