racket/draw: support libjpeg v9

Closes PR 13721
(cherry picked from commit 158997cde7350bc62eeb45e9ecd76931738266b9)
support libpng16
(cherry picked from commit 5629a6156a5720e51a277849f75b3135cb93664f)
libpng adjustment

Keep error if no "libpng" is found.
(cherry picked from commit f97a7cf1778b74e9f38d97db61e91956565180c3)
Get rid of the `#:function' keyword.

These problems are always dealt with via an internal function instead of
making the name argument part of the visible API.
(cherry picked from commit f90fe4c598d03501b5bcbaa03be8951f8eddd10a)
Misc improvements to `net/uri-codec'.

Fix a bug in encoding strings with characters between 128 and 256, avoid
extra bindings for conversion vectors; remove calling `noels-tests' from
`main' since it's already called from `tests', etc.
(cherry picked from commit c2280ed8dc5d1f8d4fc690108ce5e9e9ae53d117)

Conflicts:
	collects/net/uri-codec.rkt
Fix wide-character decoding in URLs.
(cherry picked from commit a4e529a816ede56a4df6204b59906ec749182dc1)
Simplify decoding code into one `cond'.

(It's likely to get written in some better way, for example, avoid the
extra work for simple strings.)
(cherry picked from commit 210c71d91c99eb39acfb0907421555918c6e9027)
Further explain silent acceptance of unencoded characters.

Also highlight the two tests that use that.
(cherry picked from commit 8d55b892ecf871ea4d2e369afd98999b015b716b)