scribble: fix image metrics in HTML output for exact fractions

Avoid generating sizes such as `1003790/1581`.
use-before-definition analysis: fix checking of `set!` form

Treat the RHS of `set!` as escaping to an unknown context, so
that any variables it references are treated as unprotected.
use-before-definition analysis: fix handling of `let[*]`

Bindings in `let` and `let*` need to be tracked much the same
way as for `letrec`, so that

 (letrec ([b (let ([d (lambda () c)])
               (d))]
          [c 1])
   b)

raises an exception.
letrec-check analysis: remove no-op part of implementation

The `deferred_uvars` list is constucted so that it always
has the same length as `uvars`.
use-before-definition analysis: fix checking of `with-cont-mark` form

Similar to the `set!` problem.
fix "fixing letrec" pass

Adjust the compiler pass to insert checks for #<unsafe-undefined>.
The chanegs amount to throwing out the old attempt to follow the
implementation sketched in "Fixing Letrec", and instead use a
simpler abstract interpretation.
racket/gui: report AltGr combination for left Control plus right Alt

Use the new AltGr report to enable Control-Alt- combinations in
DrRacket (and other framework programs) when they do not intefere
with plain AltGr combinations.
bump version
meta/new-web: handle versionless source variant

Although a versionless variant of the source bundle is available,
we leave it off the web page, because it's intended for automatic
processes.