decorators and mixins pass the class they are changing

In the current implementation, when you write a decorator like...

```javascript
var MyDecorator = function(base) {
  return { /* stuff */  };
};
```

...the `base` argument is the `base` of the instance's `constructor`. Based on the `extend` functionality, I expected that `base` would be the class being decorated. This would be useful when you want to use a decorator that might be overriding an existing method that you still want.

This is how I expected to be able to use it...

```javascript
var MyClass = Fiber.extend(function(base) {
  return {
    reallyCoolMethod: function() { /* cool stuff */ }
  };
});

var MyDecorator = function(base) {
  return {
    reallyCoolMethod: function() {
      // more betterer cool stuff
      base.reallyCoolMethod.apply(this, arguments); // or preferably - base.reallyCoolMethod()
    }
  };
}
```