First commit, basic generic tree drawing function working. Still needs to be organized a bit with its helper methods, options structure, and general customization, but is functional and somewhat clean