I think a much more useful kind of modularity would be along the lines of what has been achieved with
Expression Engine. EE uses add-on modules for even some of the most basic features, making it extremely extensible. I think this sort of modularity is much more useful and practical than dividing your code via the MVC paradigm you describe, although the two could certainly be combined.