‘Eternals’ tops North American box office despite mixed reviews