Add option to specify namespace for decorator lookup

Hi,

In our app, we use decorators in a number of different contexts - e.g. constructing an API response, rendering HTML templates, and so forth. We keep separate decorators for each context, and namespace them to keep them organised, so our `Activity` model has a root-level decorator, but also `API::ActivityDecorator` and `HTML::ActivityDecorator`.

This patch adds a `:namespace` option to the various decoration methods, so that users can do things like this:

```
> Activity.last.decorate
=> #<ActivityDecorator:0x000001030d0ad0
  @context={},
  @source=#<Activity id:1>>
> Activity.last.decorate(:namespace => HTML)
=> #<HTML::ActivityDecorator:0x000001030d0ad0
  @context={},
  @source=#<Activity id:1>>
```

The option can also be passed to `Decorator.decorate_collection`, `.decorates_association` and the like:

```ruby
module API
  class ActivityDecorator < Draper::Decorator
    decorates_association :comments, :namespace => API
  end
end
```
```
> Activity.last.decorate(:namespace => API).comments.first
=> #<API::CommentDecorator:0x000001030d0ad0
  @context={},
  @source=#<Comment id:1>>
```

Is this a feature you'd be interested in including? The ability to organise our decorators in this manner has certainly helped us a lot, and we think others might find it useful too...

Cheers,
Simon