Fixed broken operator= in Optional
solve_quadratic always returns smallest root in x1
Removed unused Plane struct.
Added Ray evaluation operator.
Added hit surface info.