In defense of my Python debugger, I spent 2 days writing it and haven't changed any of the core debugger code/ui since that time. That work was really just proof of concept. I learned two things writing that plugin: (1) getting the basic debugging operations working was straightforward, if a little tedious; (2) creating nice GUI elements (watches, stack etc) takes a lot of work (I cribbed some of them from the GDBDebugger plugin)
I'm obviously sympathetic to the idea that CB should be able to handle more than gdb, but I don't think extending the gdbdebugger plugin is the right way to go. For one, it would require all supported debuggers be command line tools for which it is possible to redirect I/O, which would miss out on debuggers that can be driven from an C++ API or some other means (e.g. RPC). A more general solution would be to expand the SDK to provide more support for debugging. The SDK could provide the resources common to all debuggers (breakpoints, toolbars, menu entries, watches, stack traces) and figure out which debugger should be called based on project/target settings.