ajaxify content via a callback function
IMHO, I'd like to use Drupal AJAX API instead of jQuery AJAX because it supports many commands, events and content are manageable, error control and event binding for new content, those features are supported by Drupal.

But the disadvantage is it sends too much data, process is more complicated, using POST all the times. But of course, at javascript level, we can override the default behaviors and make it better :)

For example, If you have any ajax errors, like ajax request is running and you change document location, you will see an alert box with error message. That's a bit annoying so I always override it by re-write this function in my theme

Drupal.ajax.prototype.error


About your working process, I have some comments


1 &amp; 2: It's ok for me, but why do you need to use another copy of ajax_deliver(), why don't you use it directly?
3: Are you going to write another thing like Drupal.ajax or just attach new function to Drupal.ajax? something like 

Drupal.ajax.prototype.commands.log = function (ajax, response) {
    console.log(response);
};

Drupal.ajax.prototype.commands.open_popup = function (ajax, response) {
    var id      = typeof response.id      === 'string' ? response.id : 'gfc';
    var content = typeof response.content === 'string' ? response.content : '';
    var options = typeof response.options === 'object' ? response.options : {};

    Gfc.popup.open(id, content, options);
};


I'm ok if you do like that.
4: Yes of course
5: Errr, are you going to write something new instead if using Drupal.ajax?