Fix eval-after-load problems when byte-compiled.

Use a lambda instead of progn inside eval-after-load body. This is the
behavior of the `with-eval-after-load` macro introduced in Emacs
24.4. There seems to be a difference in semantics between progn and
lambda when byte-compiled.