Why not just use Bukkit? Even single player is running a server internally now, it is easy to just run craftbukkit as an instance, plus if people want to change it they can just write plugins.
All you really need now is an API for sending custom packets to and from the client.
All you really need now is an API for sending custom packets to and from the client.