llvm: Rework struct handling a bit
semantic: Refactor alias resolving code
semantic: Refactor class resolving code