To be able to load MediaUploader dynamically, its config will have to be made available through an API. It is not possible to distribute it with ResourceLoader, as the parsed config is user- and language-sensitive.
The interface should probably be some thin abstraction over the ConfigFactory class. As much redundant code between the new API and Special:MediaUploader should be eliminated.