This is not a good idea at all. From a hardware standpoint, pretty cool idea, but from a software standpoint it would never work. Yes Android is like Ubuntu and other Linux based OS's, but the developer of the Android system for that specific phone would have to somehow figure out how to get the OS to work with different hardware being installed. Like for example, a full set of hardware blocks comes out and Tim buys a new camera and new RAM, and Johnny buys everything but the new camera and RAM, how would the software work with the new hardware? The same reason why you can't install a custom from another device onto your device, because the software is designed to work with the hardware, and nothing else.