Make Routable use __init_subclass__ instead of a metaclass to allow routes to be inherited
As reported in this StackOverflow question, there is a need for routes to be inheritable.
I've made Routable use __init_subclass__ instead of a metaclass so that dir(cls) can include methods inherited from a parent class.
Edited by Ben Hsing