Nico Rosberg has followed up his controversial victory in Monaco by taking pole position for Sunday's Canadian Grand Prix.