Rather than extending `media.controller.CollectionAdd` 3 times, make it a constructor that dynamically extends `media.controller.Library` and use instances of it instead.

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27322


git-svn-id: http://core.svn.wordpress.org/trunk@27174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Avoid an undefined index notice in wp_doc_link_parse().

props pross for initial patch.
fixes #27214.
Built from https://develop.svn.wordpress.org/trunk@27323


git-svn-id: http://core.svn.wordpress.org/trunk@27175 1a063a9b-81f0-0310-95a4-ce76da25c4cd