If we do not export the variables set in BackwardMacros.cmake as cache variables, they will not be visible wherever add_backward() is called, and the macro will do nothing.
Also, fix typo `BACKWARD_INCLUDE_DIR` -> `BACKWARD_INCLUDE_DIRS`
This commit seperates some of the CMake code into a
BackwardMacros.cmake file. Including the CMakeLists.txt with
add_subdirectory doesn't work, because the variables it defines won't
be available from the including CMakeLists. With a .cmake file, they
will.
This change is backward-compatible, because CMakeLists.txt includes
the BackwardMacros.cmake as well.