fcint: add casts to allow building with stricter compilers

When targeting CHERI, casts between pointers and integers must use
(u)intptr_t. uintptr_t values contains pointer bounds (and additional
metadata), whereas other integer types do not. This change also adds a
cast to FcOffsetToPtr() to silence a compiler warning that triggers if
the compiler cannot statically infer which side of an arithmetic operation
is the pointer operand and which one is the offset/mask.
12 jobs for intptr-casts in 15 minutes and 44 seconds (queued for 9 seconds)
Status Name Job ID Coverage
  Build
passed meson android arm64 fedora #11962891

00:01:23

passed meson macos #11962889
gst-macos-10.15

00:03:09

passed meson-mingw-w64-build #11962886

00:07:28

manual meson msys2 #11962890
docker windows 1809 allowed to fail manual
passed meson-shared-build #11962908

00:05:25

passed meson-static-build #11962885

00:07:31

passed meson vs2017 amd64 #11962887
docker windows 1809

00:01:17

passed meson vs2017 x86 #11962888
docker windows 1809

00:01:16

passed mingw-build #11962883

00:09:34

passed shared-build #11962881

00:10:17

passed static-build #11962882

00:09:22

failed meson-shared-build #11962884

00:08:41