From gymnastics to virtual nonholonomic constraints: energy injection, dissipation, and regulation for the acrobot