Changes error handling from a view decorator to middleware

As a result, only instances or children of RenderableError are caught by the middleware.  This is different from the previous behavior, which caught and rendered all errors.
Is status_code something we really want to be able to specify on a per-instance basis?  I think leaving it as a class-level variable is better.