Fix definition of the CMAKE_CXX_FLAGS + linux fixes

As discussed in issue #42, the CMake buildsystem is broken on some systems because the project definition does not come at the beginning of the CMakeLists.txt. Because of this, CMake does not know that this is a C++ project and the CMAKE_CXX_COMPILER variable is empty, therefore the --std=c++11 flag is not added properly to the CMAKE_CXX_FLAGS.

@tomluchowski seems to say that moving the project definition to the top broke the his buildsystem, but I would be more inclined to think that something is wrong on his end then. Projects should always be defined at the beginning of the CMakeLists.txt IMHO.

This pull request also adds an insignificant change that makes my life easier to compile OD on Mageia: the FIND_SFML_LIB_SUFFIX is now listed as a CMake argument, and the proper include dir is searched for (Mageia packaged SFML2 so that it can be co-installed with SFML, hence some tricks).
I don't have a strong reason for it, I don't really understand compilations flags that well yet.
It's just that those are among the default flags when packaging software in Mageia, so I thought it was good practice to use them for release build. But that can be changed of course :-)

For the reference, here are the "default" optflags in Mageia:
```-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fPIC```