Cancellara wins Tour of Flanders