[Feature] Custom 404 error pages

Add a new request handler (NotFoundRequestHandler) which usually should be at
the very end of the request handler chain. It checks if there is an error page
configured for the requested path and returns it if present.