Move common HarfBuzz code to a common file hbfont.c

* src/hbfont.c: New file, with code moved from w32uniscribe.c
and renamed/modified as appropriate.
* src/w32uniscribe.c: Move to hbfont.c DEF_DLL_FN and macro
definitions for HarfBuzz functions used in hbfont.c
(load_harfbuzz_funcs): Move loading of HarfBuzz functions used
by hbfont.c to hbfont.c:hbfont_init_w32_funcs, and call that
function from here.
(syms_of_w32uniscribe_for_pdumper): Fill the 'shape' and
'combining_capability' members with hbfont.c function names.
* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
* src/font.h (hbfont_shape, hbfont_combining_capability)
[HAVE_HARFBUZZ]: Add prototypes.
* src/ (SOME_MACHINE_OBJECTS): Add hbfont.o.

* (FONT_OBJ): Add hbfont.o if HAVE_HARFBUZZ.
1 job for harfbuzz in 3 seconds (queued for 2 seconds)
Status Job ID Name Coverage
failed #1959


Name Stage Failure
test-all Test There has been a runner system failure, please try again
Running with gitlab-runner 11.6.0 (f100a208)
on gitlab-runner-docker cff9d373
Using Docker executor with image debian:stretch ...
Pulling docker image debian:stretch ...
Using docker image sha256:8d31923452f8b79ae91b01568d28c90e7d667a9eaff9734c6faeb017b0efa8d0 for debian:stretch ...
ERROR: Job failed (system failure): Error response from daemon: failed to start shim: exec: "docker-containerd-shim": executable file not found in $PATH: unknown (executor_docker.go:1018:0s)