Thanks everyone.
It sounds like the best approach is for me to work on simply getting a basic remote-debug process working, with a sensible protocol that can be extended (I've found the gdb spec helpful as a guide), then present that as a patch.
Currently I am using the existing control sockets as the input feed; there might be a couple of things I need to add there to prevent commands being lost when Control_CheckUpdates() exits, but it sounds better than adding a new socket at the moment.
In terms of the GUI framework, I'm still using the Python Gtk code as my testbed to make sure the concept works. If the debug process is solid, it shouldn't matter too much what GUI/language framework is used. I'm sure we all have our preferences.
The patch might take a while for me to get to a stage where I'm happy, so don't be surprised if I "go dark" for a bit.
cheers
Steve