Tropical Storm John lashes Mexican coast