Fixed the camera matrix. Now the rays are properly generated.
Created types.h file for data definitions.

Pulled out the container role of the scene class and moved it to the primitive interface and an aggregate type.
TODO:
1. Implement AABBs for Primitives.
2. Change the data model in the Scene class(Primitive, Shape, Material) to data oriented instead of OOP. I think it will work better if I'm able to make it that way.
Update material storage model & restructure intersection acceleration methods.

The materials are now stored linearly in a vector inside the scene class.
Now they can be read safely from HDD to memory without any patching or serialization. They are identified by ids(indexes).

Gave up on the book scene design. It is based heavily on polymorphism in high-performance areas and is designed exclusively on the OOP priniciples. Less flexible structure is implemented in this commit.