Adding a new controller that allows external OpenGL renderers to be used. Needs refactoring.