bind accepts a variable number of arguments, so you can partially apply a method. So, instead of:
var when = Function.prototype.apply.bind( $.when );
Do this:
var when = Function.prototype.apply.bind( $.when , null );
And updated jsfiddle: http://jsfiddle.net/pp26L/2/