Make router.js call afterRender even in legacy router

Also ensure it's not rendered twice