title: Double callback on error
body: <p>When testing stylus and the assertion throws, it calls the callback a second time with the Assertion error:</p>
  
  <pre><code>var expect = require('chai').expect,
      stylus = require('stylus'),
      i = 0
  
  describe('test stylus', function(){
      it('calls back', function(done){
          stylus('p\n\tcolor white').render(function(err,css){
              i++;
              console.log('callback', i) //logs twice
              expect(css).equal('p\n\t{ color: bad;\n}')
              done()
          })
      })
  }) 
  </code></pre>
  
  <p>I'm using this to work-around:</p>
  
  <pre><code>describe('test stylus', function(){
      it('calls back', function(done){
          stylus('p\n\tcolor white').render(function(err,css){
              try {
                  expect(css).equal('p\n\t{ color: bad;\n}')
              } catch(e) {
                  done(e)
              }   
          })
      })
  })
  </code></pre>
  
  <p>I'm thinking it's a stylus bug to re-call the callback. Or Am I missing something here?</p>