SharePoint supports client side add-ins that can be dropped on a page and allows developers to create rich new user-experiences using web stack (angular, react, knockout, jquery). Solutions are bundled and can be added from a central catalog of "web parts".
This framework is called SharePoint Framework (or SPFx).
You should borrow for the SharePoint team and create your own CRMFx which would (hopefully) be implemented the same way as SPFx.
Doing so would not only make CRM customizations easier for anyone with SharePoint development experience, but it would also make it easy for any webstack developer to develop for CRM.
To add a new add-in/web part, customizers would edit a form and select an option similar to "add web resource", except that it would be a web-part/add-in.
And, like SPFx, you should make this an open-source initiative. I'll gladly contribute to it!