Maple Leafs sign John Tavares to 7-year deal