Hey lets keep on topic here. :) I'd say separating the gui and core is much less work than trying to revamp pd's threading model.  Just enabling thirdparty GUI's that can talk to pd core as an audio and computation engine, should be possible without breaking backwards compatibility.