Replace abort() with Q_ASSERT and Q_UNREACHABLE
This change replaces abort() with Q_ASSERT and Q_UNREACHABLE() macros to make kwin code base consistent. Besides that, Q_UNREACHABLE may potentially provide the compiler more info that can be used to generate more efficient machine code.