Making the Extensions installable via the plugin is very tricky, and it would have several drawbacks. For example, it would be hard to keep an updated list of the available Extensions inside the plugin, and users would most likely never notice the web page of the Extension, with its description, usage hints, and documentation.
As the process of installing an Extension is already pretty easy now (Download the ZIP file, go to "Plugins" -> "Add New" -> "Upload", choose the file, upload, activate), I don't see too much benefit here, really.

A button for choosing colors on the "Edit" page of a table would indeed be helpful for some use cases, but it would also be very, very inferior to the current CSS solution. That also allows much shorter code and more fine-grained control of other CSS properties as well.