Unified Project Directories

Converted the github directory and the private directory to follow the
same format
Renamed and Expanded CourseReq class

Renamed CourseReq to Requirements
Expanded the interface functions
Basic (not final) implementations of Requirement functions
UI Easers Primitives

Created a system for the use of easing functions (animation, etc.)
This system involves a rendering pipeline along with overrides of the
__call, __index, and __newindex metamethods (lua inheritance)
For the rendering pipeline, two functions, render and update, are
provided to simplify client code

The easing system works by having the caller provide a function that,
given an object, will incrementally adjust some property of that object
until the operation is finished, at which point it returns true. The
function arguments are the time delta, the object to be updated, and the
"easer" table that the operation was invoked from. These "easer" tables
can be used to reduce code duplicity within the easing operations.

An inheritance system is provided through the ui.easers.callable table
and the makeFunctor function. This system abstracts the basic
"no-frills" behavior of simple operations ("__call" syntax, table(...)
=> table:run(...)) while also providing the possibility of precise
control at the caller's discretion ("__newindex" syntax, table[function]
= obj). These tables can also house helper methods for the operation at
hand, the "easer" tables.
UI Easers

Demonstrates the construction and usage of "easer" tables through the
the bezier, move, zoom, rotate, color, and fade functors
The formula for the run functions of easing functors should be (self,
obj, <execution arguments>, time), with time defaulting to 1
The default operations of move, zoom, rotate, color, and fade rely on
bezier

What does Bezier do?
- abstracts the process of creating bezier curves
- generates the bezier function for a given bezier curve
- performs easing operations on an object (needs a bezier curve and a
function)
UI Testing

The series of tests used in designing the UI Easers system
The "slideshow" for the login screen and behavior