Tropical Storm Ernesto batters Puerto Rico with strong winds, heavy rain