Fixed some bugs in reflection/refraction

reflection/refraction almost done. need to test some things before
completion.
reorganized

split reflection/refraction into two functions. Fixed recursion.
minor changes to MeshPreviewScene inorder to render scene
Changed box.obj model for sample mesh render
Added basic multithreading, antialiasing

Also added copy constructors to many object types.

Changed 'light' to interface, so that we can have SphereLights that are
both Spheres and Lights, and are intersectable.
Fixed reflection and refraction, multithreading is broken
Fixed merge conflicts.