* The ability to run this engine in the background.
* A unified API that would make possible for plugin authors to interact seamlessly with that engine but also between each other.
* Certainly a thousand of minor details.
You can add as many fancy plugins as you want, you'll never get an IDE.
You'll get something that looks more or less like an IDE and works more or less like an IDE, but not an IDE because an IDE is not a text editor with a file explorer on the left, a class explorer on the right and a list of compile errors underneath. It is much more than that and Vim doesn't have and can't have that "much more".
Unless you count external compilers/debuggers/profiler/linters as that "much more" but that's still not an IDE. A DE, maybe, but certainly not "I"ntegrated. Well, not even an "E"nvironment, actually, given Vim's design principles.