racket/gui Cocoa: disable App Nap; switch to GUI mode more lazily

On 10.9 and later, `racket/gui` now disables App Nap. Otherwise, a
program like

 #lang racket/base
 (require racket/class
          racket/gui/base)

 (define T 0.05)

 (let loop ([prev (current-inexact-milliseconds)])
   (sleep T)
   (define now (current-inexact-milliseconds))
   (define delta (- now prev))
   (when (delta . > . (* 2000 T))
     (printf "long wait ~a at ~a\n" delta now))
   (loop now))

will start to report a wait of more than 10 seconds, as App Nap
puts the process to sleep.

Relatedly, when `racket/gui` is started via plain `racket` (as opposed
to GRacket), then it starts in "accessory" mode instead of "regular"
mode, which means that the application does not appear in the dock
or have a menu bar. As soon as a frame is shown or a root menu bar
is created, the application is promoted to "regular" mode. This works
in 10.7 and later.
JIT: fix allocation of `letrec`-bound closure over unboxed flonums

The closure could be allocated as uninitialized memory with the
expectation that it would be filled right away, but boxing values
to put in the closure could expose the uninitialized memory to
the GC. Fix the problem by boxing before allocating closures.