With -Wimplicit-fallthrough the compiler warns about unannotated
fallthroughs in switch statements. Since it is supported by both GCC and
Clang, and can easily be fixed by adding Q_FALLTHROUGH() we enable it as
error.
As a consequence, we don't need to add redundant break statements as
safety measure. So we also warn about that, but not as error, especially
since it's only supported on Clang. (As far as I know.)
Some of the fallthroughs are suspicious to me, maybe there is actually
an error.