Enhances expect with sinon matchers.
Usage:


//Yes you need to override the old expect, sorry.
expect = SinonExpect.enhance(expect, sinon)

expect(object.withSpy).spy.called();



@param {expect.js} expect expect.js object
@param {sinon} sinon sinon instance
function(expect, sinon, name){
    if(typeof(name) === 'undefined'){
      name = 'spy';
    }

    SinonExpect._expect = expect;
    SinonExpect._sinon = sinon;

    SinonExpect.ExpectWrapper.__proto__ = expect.Assertion;
    SinonExpect.ExpectWrapper.spyName = name;

    var result = function(obj){
      return new SinonExpect.ExpectWrapper(obj);
    };

    result.Assertion = SinonExpect.ExpectWrapper;

    SinonExpect.buildMatchers();

    return result;
  }