Work with Sinatra

To enable ActiveDecorator in Sinatra, register it like:

    require "active_decorator/sinatra"
    register ActiveDecorator::Sinatra

Then ActiveDecorator::Sinatra reads `ROOT/decorators/*_decorator.rb`,
and decorates instance variables in `scope` and local variables passed
via `render` method with them.

The `ROOT/decorators` directory is used by default. If you want to use
another directory, you can set it as `:decorators` like:

    require "active_decorator/sinatra"
    set :decorators, "/path/to/your/decorators"
    register ActiveDecorator::Sinatra

ActiveDecorator::Sinatra doesn't decorate following instance variables
by default:

    @default_layout @env @params @preferred_extension
    @request @response @template_cache

These are declared in an array named as
`ActiveDecorator::Sinatra::DEFAULT_PROTECTED_INSTANCE_VARIABLES`. If you
want to protect other instance variables, you can declare them as
`:protected_instance_variables` like:

    require "active_decorator/sinatra"
    set :protected_instance_variables, %w[@foo @bar]
    register ActiveDecorator::Sinatra

Note that these `set` statements must be placed before the `register`
statement.

Specs for Sinatra run with the fllowing command:

    `BUNDLER_GEMFILE=gemfiles/Gemfile-sinatra bundle exec rake spec:sinatra`

Sinatra doesn't support implicit object rendering (like `render @author`),
so features about this won't tested in the partial spec. This switching
is made with `rails?` method decrared in spec_helper.rb.