Refactor lowest-level point operations.

Add:
	src/graphics/matrix.(c, h)
		-Introduce `Point_t` typedef for doubles, redefine `Matrix_t` to contain
		an array of `Point_t *`, and add overloaded `createPoint()`.
		-Refactor all functions that modify `Matrix_t->points` accordingly.
		-Unit tests are completed successfully with no memory leaks (with the
		exception of `addSphere()`, which was modified for scanline-rendering).
Refactor `addTriangle()`.

Add:
	src/graphics/matrix.(c, h)
		-Redeclare `addTriangle()` to accept `Point_t` arguments. Seeing as the
		function is probably the most universally used method of point
		addition, its restructuring knocks out most of the work.
		-Add `COPY_POINT()`, for cases (like in `addSphere()`), where the same
		points occur time and time again in the same `Matrix_t`.

	src/(graphics/matrix, interpreter/interpreter).c
		-Rewrite all function calls to `addTriangle()`.

	test/testAddSphere.csv
		-Update the `addSphere` unit test file to reflect the new method of
		rendering spheres (with scanline fills).
Refactor POINT() to use on-the-fly arrays.

Add:
	src/graphics/matrix.(c, h)
		-Redefine `POINT()` to produce an on-the-fly array, instead of calling
		`createPoint()`. Now, the only function that calls `createPoint()` is
		`addPoint()`, which needs to add an allocated `Point_t` to a `Matrix_t`.
		-Does away with memory-management hell (ie, unnecessary calls to
		`COPY_POINT()`).
		-Redefine `addRectangularPrism()` to accept `Point_t` arguments.
Redefine transforms, culling.

Add:
	src/graphics/matrix.(c, h)
		-Redefine `backfaceCull()`, `createTranslation()`, and `createScale()`
		with `Point_t` parameters.
Redefine drawPoint(), add POINT2().

Add:
	src/graphics/graphics.(c, h)
		-Redefine `drawLine()` with `Point_t *` parameters.

	src/graphics/matrix.(c, h)
		-Expand `POINT()` to allow for just two coordinates as well.
Refactor sphere/torus generation.

Add:
	src/graphics/graphics.(c, h)
		-Remove superfluous variable declarations (holdovers from the time that
		point-coordinates were passed as individual arguments).

	src/graphics/matrix.(c, h)
		-Redefine `addSphere()`, `generateSphere()`, `addTorus()`,
		and `generateTorus()` with `Point_t *` parameters.
Refactor addHermite(), addBezier(), polygon funcs.

Add:
	src/graphics/matrix.(c, h)
		-Redefine `addHermite()`, `addBezier()`, and all polygon creation
		functions/function-like macros (`addPolygonFull()`, `addCircle()`,
		etc.), with `Point_t *` parameters.
Update documentation comments for Point_t params.

Add:
	src/graphics/(matrix.(c, h), graphics.h)
		-Update documentation comments to reflect new parameter types for
		numerous functions (which now accept a `Point_t *`, as opposed to
		individual coordinate values).
Partition matrix.(c, h) into two modules.

Add:
	src/graphics/(matrix, graphics).(c, h)
		-Partition the `matrix` module into two individual modules: `matrix`
		and `geometry`, primarily for modularity.