Fix inheritance with Rule.empty

Rule.empty() always returns an instance of werkzeug.routing.Rule
even when a Rule subclass existed. This patch ensures that the
new instance of the rule returned by empty() is always an instance
of the class the rule is an instance of.