Reimplement type3 font rendering for the Arthur backend

The new implementation uses beginType3Char/endType3Char.
It is *much* simpler than the previous implementation.

This patch does not remove the old implementation.  You can
switch between the two by setting the return value of
the method interpretType3Chars (true: new implementation,
false: old implementation).
6 jobs for reimplement-arthur-type3-font-rendering in 8 minutes and 21 seconds (queued for 22 seconds)
Status Job ID Name Coverage
  Build
passed #374989
build

00:03:24

passed #374994
build_android

00:01:02

passed #374990
build_clang_libcpp

00:02:32

passed #374993
build_clazy

00:08:20

passed #374992
build_mingw64_fedora

00:02:58

passed #374991
build_ubuntu_16_04

00:02:05