Merges with latest updates on origin.

This commit is weird because selectively committing files doesn't work
for whatever reason.

This commit adds the new GUI elements to the Visual Studio project,
disables exceptions completely, adds a slope calculation function, and
adds a couple of formatting fixes. Additionally, it updates the shadow
generation algorithm, though it's still not fully functional. Finally,
concave polygons now selectively triangulate based on the parameter
passed to Create(), just like the rest of the primitive objects.