Fixed quadric eq. issue from the last commit. test_cone working.
In search for the leaks. Trying to figure out why stack == 0 test is not suitable and influences the leaks heavily.
Changed the double frustmu receiver to make it double walled with different props on each wall. Minor changes and comments to make the code a bit more readable to me.
Added a new file to test specific single ray behaviours to identify the leaking problem on quadric geometries.
The scene displays the number of reflections a ray has alrady had to try to debug the leaking behaviour. Stack 'sens' parameter in tracer engine changed to 1e-10 to avoid surprising auto reflections in the surface. the leak_test file tests cylinder, cone and frustum geometries with a set of 3 single_ray sources.
Suppressed 2 leak sources for quadric geometries. One was from self reflection of rays in the surface of quadric geometries due to numerical error considering the intersection. This is, for now, eliminated by rounding the ray intersection parameters with 1e9 decimals. This way, the selection of the good parameters between the possible 2 is actually chosing the correct one when the test occurs. The second leak source was due to a wrong surface_for_next_iteration implementation in the tracer_engine.py. Surfaces already hit one time were discarded from the next iteration of the tracer while they shouldn't. This implementation, while optimizing ray-trace for flat and convex geometries, was actually supressing valid intersections and ingnoring it gives correct results. Finite cone results are still to validate beacause the test is still not working correctly. There is an identified issue with rays hitting the apex on the cone axis.
Finite Cone apex and rendering update
New version with shape error implemented. Some leaks are occuring with the new RealReflective implementation and only on the parabolic dish geometry on my tests so far.
Real optics working with no leaks. The 1e-9 cutoff parameter on the stack is back.
Suppressed Lambertian leaks. The code is full of useless testing stuff that have to be ignored. Tehzy don'yt affect the results.
Added the 4 param example.
Merge branch 'master' of https://github.com/casselineau/tracer

Conflicts:
	examples/john.py
	tests/test_cone.py
	tracer/cone.py
	tracer/quadric.py