Expose Sinatra `use` statements for modifying the middlewares

This adds a `use` method to `Deas::Server` that will take
middleware configurations. These `use` calls are stored up and
piped to the Sinatra application, allow middleware to be added
as it normally would with Sinatra.
Switch to using `Sinatra.new` to create the dynamic Sinatra app

This is the recommended way to do this in the documentation, so I
feel more comfortable moving to it. This should help future-proof
our logic and doesn't alter the functionality.