Obama trashes America in Panama speech