Move gcc flags to the top-level CMakeLists.txt
Enable optimisation by default
Explicitly set Doxygen file patterns

I enable doc generation for C++ source, header files and CUDA
source files.
Include `cuda_runtime.h` to the `enclosing_volume.h`

Functions in the `enclosing_volume.h` use datatypes
and helper functions from the `cuda_runtime.h`, so it
should be included.
Add `const` to the local variables in the `enclosing_volume.h`

I add const to the all variables that does not intended to change.
Move nvcc flags definition to the top-level `CMakeLists.txt`
Add project top-level ("public") headers to the include path
Make `CMakeLists.txt` for tests more readable
Use Google Mock in addition to Google Test

Google Mock provide mocking support as well as new matchers
for writing more expressive unit tests.
Rename `GTest.cmake` to `CMock.cmake`
Make complation of tests optional