In fact we already have a few interfaces intended for implementation by mods (Component, ComponentSystem and Event come to mind). And in one of my branches reflection is used to register them from the main jar .We could make a markerInterface "Moddable" which says the mod-classloader that this interface can be modded. This way it can limit the moddable-classes and eventually automatically export all modding-interfaces (using reflection) so that a modder only needs to download these for his modding job and not the whole Terasology source.
And yeah, it would be nice to have these interfaces, and a minimal amount of supporting infrastructure in a separate API jar. A bit tricky with the current code - the use of singletons in some areas and the way the GUI works means that whole classes would be needed, and before you know everything ends up in the API jar . But we can work towards that.