Alright, in order to maintain the simplest, cleanest API for end users, I think we should have build time options with hand picked defaults. If we're going to use Three.js or Tween.js, etc, then we should pick the default libraries we'd like our classes to use, and those will be default for most people. Advanced users can change libraries using special build options, and we'll document how to make these build time plugins (they should be compatible with all our supported build systems).
This will prevent from users having to pick between things like
BabylonJsRenderer in their code. Instead, they can just always use
WebGLRenderer, and by default that will be Three.js (or something). This is the best way to do it without introducing runtime performance hits by loading libraries at runtime and without making the user pick certain class names (the API just needs to work without them worrying about it).
This would be a kind of big endeavor, I think it'll come later. For now, if I use any 3r party library like Tween.js, I'm going to make sure that the adapter used around it is clearly defined so that it is easy to swap Tween.js with something else.