A ControlsFactory is used to provide custom controls for a DisplayWindow.
 It exposes a method that makes a list of Components, which will be
 included in the DisplayWindow's controls, underneath the axis scrollbars.
 This class is necessary because of the user's ability to create duplicates
 of DisplayWindows, which necessitates being able to duplicate the controls
 as well. If you do not want to provide any custom controls, then use the
 DisplayManager.createDisplay() method that does not take a ControlsFactory
 argument.
 Usage example:
 
 Datastore store = mm.data().createRAMDatastore();
 DisplayWindow display = mm.displays().createDisplay(store,
       new ControlsFactory() {
           @Override
          public List<Component> makeControls(DisplayWindow disp) {
             make your controls here;
             return controls;
          }
      }
 );