Ray/Sphere Intersection

Basic ray/sphere intersection test which transforms a position from screen to world and performs the test.
Not finished yet, and it will be moved from the collision class later.
Added some intersection code

forgot to save before last commit so some intersection code was missed.
Merge remote-tracking branch 'origin/master' into ToolPicking
Changed the ray transform a bit.
Moved around the logic a bit.

Moved the transform of the ray to game scene class from physics.
Also implemented a function in physics to take a ray to test it against all bodies.
Created functions in the graphics class to get the view and projection matrices which were needed by the ray transform.
Not working currently because something breaks in the physics, will look into it later.
Reworked some of the code.

Need to fix so that the intersection checks against all bodies and report the closest one instead of reporting the first it hits in the list which it does now.

Changed the ray transform from being manually calculated to using XMVector3Unproject() to remove potential mathematical errors.

Rewrote the Ray/Sphere intersect algorithm to follow the one int the Rel-time Collision book instead of the Real Time Rendering book since i wrote the latter from memory and wasn't sure if it was correct.

Added some logger messages to notify witch body is hit.
Merge remote-tracking branch 'origin/master' into ToolPicking
Merge remote-tracking branch 'origin/master' into ToolPicking
Picking!

Picking is working against spheres.
Added ray/triangle

Not fully implemented yet
Picking against triangle.

It's now working.
Merge remote-tracking branch 'origin/master' into ToolPicking
Removed debug code.
Moved picking logic from game into the tool
Added get function to get screen size.
Coupled picking with the tree logic.
Toolpicking Picking works and selections clears after new selection
Merge remote-tracking branch 'origin/master' into ToolPicking

Conflicts:
	ToolKit/Source/MainWindow.cpp
Removed debug code