Allow routing to arbitrary Rack applications

This builds off of @kainosnoema's work in #49 and allows routing to Rack
applications using HTTP verbs:

```ruby
class HelloWorld
  def call(env)
    [200, { 'Content-Type' => 'text/plain'}, ['Hello, world!']]
  end
end

class API < Crepe::API
  scope :hello
    get HelloWorld.new
  end

  # Or...
  get :hello, to: HelloWorld.new
end
```

As long as it responds to `call`, it's fair game. However, a few notes:

 * One potential syntax could be `get hello: HelloWorld.new`. The current
   implementation of `Crepe::API.route` will end up tossing
   `{:hello=>#<HelloWorld:0x007ff226e7b060}` into the `**options` hash.
   Because that path can be totally aribtrary, parsing that out would get
   quite tricky. Because of this, I haven't supported that syntax.
 * This is really the same as `mount HelloWorld.new, at: :hello, method: :get`.
   Do we care about supporting/documenting both?

Signed-off-by: David Celis <me@davidcel.is>
Maybe test the failure state here, too? Get rid of one of the HTTP methods and test that it hits a 404?