Put some documentation on the main page
Include correct headers on AVX and AVX2

This is a regression introduced by the following commit:
83d1b39a2f2c0089bd6e035728123174bf83bf1d
test: Do not set CMAKE_CXX_FLAGS; use set_target_properties() instead
perf: Reenable compilation of (naive) benchmark code
perf: Include simdpp/simd.h directly
Remove the old simdpp/simd.h wrappers
test: Improve inline documentation
test: Move test_main.cc to main_test1.cc
Add dynamic dispatch support

This commit adds an implementation of dynamic dispatch. It automatically
selects the fastest version of a function that has been compiled into
the executable.

The library already allows to create several object files for different
instruction sets from the same C++ source file and link them to the same
executable. The only requirement is that all user code is within
SIMDPP_ARCH_NAMESPACE namespace.

Dynamic dispatch is implemented as a macro that is added to the C++
source file for each function that the user wants to dispatch
dynamically. The macro expands to the following:
 * some code that uses static registration to create a list of all
available function variants
 * a function wrapper that retrieves the fastest implementation on first
use, caches it and then invokes it on subsequent calls.

Additionally, this commit implements a CMake function that hides all
complexity of compiling different source files for different instruction
sets behind a simple interface.