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.
I'm still struggling with understanding why you have constant-like definitions here for each of the Renderable exceptions you've subclassed.  This doesn't seem to follow convention where you'd instantiate an instance of the appropriate exception type at the point of raising.