This works:
var a = new (Breakfast.bind.apply(Breakfast, [null, 'bacon', 'eggs']))
a instanceof Breakfast // true
Or... var a = new (Function.bind.apply(Breakfast, [null].concat(['bacon', 'eggs'])))
a instanceof Breakfast // true
UPDATE (for kicks):Or... (works with Crockford's Object.create)
var a = Object.create(Breakfast.prototype);
Breakfast.apply(a, ['bacon', 'eggs']);
a instanceof Breakfast // true