Partly redefine flatShade() with RGB_t.

Add:
	src/graphics/graphics.c
		-Redefine parts of `flatShade()` to deal in `RGB_t *`, instead
		of RGB colors in integer (0xAABBCC) format.
More work on Goraud shading in `drawMatrix()`.

Add:
	src/graphics/matrix.(c, h)
		-Reimplement `drawMatrix()`, because surface normals still
		aren't being averaged properly.
		-Fix `SUB_POINT()`, which was subtracting `z` coordinates for
		the difference `w` coordinates.
Add inverseSlope(), use in scanlineRender().

Add:
	src/graphics/graphics.c
		-Add `inverseSlope()`, to clean up the verbose slope calculation
		statements in `scanlineRender()`.
Revert drawMatrix() to older implementation.

Add:
	src/graphics/matrix.c
		-Clean out any surface-normal averaging code in `drawMatrix()`,
		essentially reverting it to an older version.
Redefine NORMALIZE with expression syntax.

Add:
	src/graphics/matrix.h
		-Redefine `NORMALIZE()` with expression syntax, such that it can
		called in the right-hand side of an assignment statement.
Finalize Goraud shading.

Add:
	src/graphics/graphics.c
		-Clean up vestige surface-normal code in `drawMatrix()`.

	src/graphics/geometry.h
		-Decrease `CIRCLE_STEP_SIZE` and the number of sides in a
		circle, for smoother images.
Merge branch 'goraud_shading' into light_and_shading

Implement Goraud shading.