Add projects::router

Which also includes the `router-api` component. Convert jabley's reference.