EMI: enable reporting of floating point exceptions

- when not compiling a release build, enable
  floating point exceptions (for division by zero and
  for invalid floating point values (NAN))
MATH: add/fix matrix operators

- fix == operator
- add != operator
MATH: Make implementation of Line2d more robust

- assert on creation of a line where start and end are the same point
  (check the distance agains a threshold)
- assert on undefined operations for Segment2d objects which were
  initalized with the default constructor
- prevent division by zero
MATH: Refactor Line2d

- use standard linear equation Ax + Bx = C
- simplify most calculations
- assert on instantitation of undefined line
- remove default constructor
- remove unused function
MATH: make Angle and Vector3d class more robust

- assert on undefined input values
- clamp some intermediate values to the defined range
  which could be slightly violated due to floating point rounding
GRIM/EMI: gracefully handle critical floating point operations