Use a proper CMake find module for libcanberra instead of pkg_check_modules
This fixes the build on e.g. FreeBSD where libcanberra is not in /usr/lib
but /usr/local/lib so that the linker complains that it cannot find
-lcanberra since the CMake variable from pkg_check_modules does not contain
an absolute path.
The CMake module was copied from the KMix repository. If there are any more
users of libcanberra it might make sense to add this to extra-cmake-modules
REVIEW: 121762