Canada's Damian Warner wins gold in decathlon, sets Olympic record