Peter Odemwingie signs for Cardiff City from West Brom