James P Cannon and the fight for communism in the USA