Theoretical and Practical Advances on Smoothing for Extensive-Form Games