Split internal and external API into different files
This addresses the problem that we duplicate external symbols in the unit tests when including the .cpp files to get access to internal API. The Qt6 Android 64bit ARM build doesn't like that.
See https://invent.kde.org/sysadmin/ci-management/-/jobs/247553.
Edited by Volker Krause