Support instance and local vars in DSL via Docile gem

This commit uses the Docile gem to make the Rack DSL handle
more Ruby usage cases, such as using instance and local
variables from within the context of the DSL.