more reorganizing.  there is still a main renderer object to be allocated (rather than the old static/global init).  now the other classes are created within this main class so the context does not have to be passed into each object's ctor.