Object Oriented Rewrite

1,700 lines rewritten to make this program object oriented and eliminate
ALL global variables.