Redid some frameworking.

I figured out how to implement subclasses in C. Now, we will treat
ActiveElement as an abstract class (not enforced) and make new structs
and .c files for each new type.