cmake: build more (and smaller) test executables

The previous setup would have clang explode on me (a.k.a. use more than
6GB of memory for a single translation unit and compile for what felt
like an hour).
Therefore I split the cast tests in a lot more executables and made that
manageable via passing the To/From types for the tests into the
compilation via macros on the command line.
This results in 101 casts test executables per implementation, which
still takes way too long to compile. Therefore most of these are
disabled per default and must be enabled explicitly via the
BUILD_EXTRA_CAST_TESTS cmake option.

Signed-off-by: Matthias Kretz <kretz@kde.org>