Neymar scored a brilliant individual goal as World Cup hosts Brazil came from behind to beat Portugal 3-1 in a friendly in Boston.