Add app#root for use in manifest and asset writer

When apps are mounted (as in mapped to a path using Rack::URLMap), this alters
the absolute path of the assets. Since a Rack app can be mapped to any path,
the only way to determine the URL prefix is through a request, in
env['SCRIPT_NAME']. Much of the Pannier features are put together through the
DSL configuration, before the app can be served; storing this prefix in the app
therefore makes sense in order to construct the correct asset paths.

A downside is that the recommended way of mapping a Pannier::App to any path
must then be:

    app = Pannier.build do
      # ...
    end

    Rack::URLMap.new(app.root => app)