[feature] implemented an app-router component which can contain many app-route components that will register with page.js and hide/show as the location changes