Refined mesh surface extraction

Added an angle-parameter to extract surfaces more precisely.
Before: All surfaces were extracted where the normal didn't deviate from the given vector by more than 90 degrees.
Now: All surfaces are extracted where the normal doesn't deviate from the given vector by more than the given angle, with 0 < angle < 90 degrees.
There different possibilities for math constants in this QA: http://stackoverflow.com/questions/1727881/how-to-use-the-pi-constant-in-c .
I would either use boost's version, which reads as
```c++
const double pi = boost::math::constants::pi<double>();
```
or the C-way
```c++
#include <cmath>
double radians = angle * M_PI / 180.0;
```
The latter might require _USE_MATH_DEFINES before include.