Added initial tests for getElementByRay
Normal picking pass does not need to calculate the normal matrix again
getElementByRay now returns the first intersected object.

Note: intersection position and normal are not yet available.
Added initial test for position and normal from getElementByRay
Expanded getElementByRay normal/position test a bit
Added support for position and normal data through getElementByRay
REVERT: Normal picking pass does not need to calculate the normal matrix again

Yes it does, what was I thinking? It needs the normals in world space, not camera space...
Changed ray intersection test to return a list of objects and fixed some rendering issues
Added some comments to ray casting functions
Added more getElementByRay tests
Fixed a bug in ray intersection test that would exclude 2D planes from being hit sometimes
Merge branch 'elementbyray' into develop