Canada has granted asylum to a Saudi teenager who fled to Thailand because she feared her family would kill her.