Bump up DrDr timeout for with-tr-contracts.rkt
move contracts section of guide into its own subdirectory
remove unused require
add a new section to the contract guide on building combinators, plus
export a few new functions to smooth some rough edges in the new combinators api
fix up some problems with ellipsis snips

Thanks to Stephen Chang for the help here.

closes PR 14754
more ellipsis snip fixes
fix use of embedded bytecode
remove redundant declaration & GC registration
raco setup: fix `--fix-pkg-deps` to imply `--check-pkg-deps`
rename encode/decode to to-nat/from-nat

also, Rackety for 102 columns and drop the nat? and
extended-nat? exports, using instead the standard
names for those concepts: exact-nonnegative-integer?
and (or/c exact-nonnegative-integer? +inf.0)
adjust to renaming in data/enumerate
whoops, forgot to fix decode in the docs
Add #:implements/inits for Class types

Allows some Class types to be written more concisely.
Remove the depth subtype check on #:implements

This check was not really necessary to begin with,
but I thought it might be a useful sanity check. In
retrospect, calling `subtype` here causes other headaches
(such as when registering type aliases) and is confusing
when multiple #:implements are provided.

Instead, the #:implements clauses are just linearized
and the last type for any given method/field is taken.

This may also prevent a heisenbug that occurs in the
GUI framework types. I still don't know the root cause of
that non-determinism though.

Closes PR 14669
Put Instance types in the seen list for subtyping

Since we resolve under Instance types for subtyping we
need to put them in the current-seen list too. Fixes
an infinite loop bug in subtyping.
Remove unused requires in TR
Fix with-type when used at the top-level

In some situations, with-type would fail to clean up its
state before reporting an error at the top-level.
change the number printed at the bottom of tally maze to be the board
index of the current board, not the initial board
Fix `infer-self-type` for depth overriden methods

When an overriden method implements a subtype of the superclass
type, sometimes the typechecker gets confused what the type should
be in the resulting class type.
Port the slidey game to Typed Racket.

Work done by Earl Dean.