Make optimizer not lazy required.

Make typed racket code actually depend on the optimizer instead of just users of it. This means that dependency information is more correct (compilation of the unit tests in particular), but '#lang typed/racket #:no-optimize' users have to spend a bit more time and compilation time to load up the optimizer.