John Stewart, Công tước của Albany