Improve isolation of IR from arch code
Xref #1409 which is another refactoring issue for better isolation into libraries
For #1684 we moved the IR files from core/arch to core/ir (PR #4321):
Moves all of the IR-related files (instruction generation, encoding,
decoding, disassembly, instructions, operands, instruction lists) from
core/arch to core/ir, mirroring the arch-specific subdirectories under
core/ir. This is a code cleanup step toward properly isolating the
drdecode library, as well as moving us toward the ability to build for
a separate target architecture from the host architecture and
eventually perhaps building in multiple target architectures in the
same binary for decoding and IR manipulation.
However, that was not a perfect split, as there is still code in ir/ that relates to managed execution (mangling, etc.), and we still do not have clean library boundaries: we're still pulling individual files from across the boundaries and compiling them directly. This issue covers better isolation into true libraries.