Shuffle BackendLLVM to its own header file, other related refactors