Start of ray tracer - contains structs and some basic helper functions.