cmake: sdl opt typo + clean warning management

Add back a lots of warning in the core!
pcsx2: add various default case statement

Note: add a note on some case note handled properly not sure how to fix them.
Actually there are potentially invalid case.
pcsx2: reorder init of member in constructor

Init must be done in the order of declaration
pcsx2: don't use 0&& to remove code

It works but compiler is not happy because it is still parsing the full line.
common: various warning fix

* Use c++11 static assert
* Properly cast to parameter template to u32 (help clang)
* Remove lots of useless ASM. Memset it only used with a size of 4096.
* check pthread_mutex_init status