Support for higher-order and odd opaque values to Racket

- All opaque Racket values are in untyped-runtime.rkt
- All values passed to Racket are represented in runtime as RacketValue
- Compile now uses a call to an internal p:apply-fun rather than
  applying the value directly
when you see an opaque, try printing its Racket value directly