Simplify direction vector calculation

Calculate direction vector directly from "angle" to avoid numerical
inconsistency between GL rotation and the direction vector.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Simplify raycasting

Use "angle" and "fov" to calculate ray direction vectors.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Raycasting engine improvement

Use a faster and more accurate raycasting algorithm from:

  Amanatides, John, and Andrew Woo. "A fast voxel traversal algorithm
  for ray tracing." Proceedings of EUROGRAPHICS. Vol. 87. 1987.

Signed-off-by: Pekka Enberg <penberg@iki.fi>