Yes, I know that there are many planned features still. That's a virtue and also a problem for the Nxt ecosystem.
Perhaps there is a possibility to realize some of these technologies in the form of plugins? Or even to divide the code into a "NXT Core" with only basic functionality (those needed for the protocol to work and to create a basic wallet) and realize all advanced functions as plugins or in form of an "advanced" client?
In a way that's kind of what SuperNET is doing.
Also, there is the Jay framework:
http://jnxt.org/jay/