As a person who likes Arduino very much, I have to ask: Why Arduino?
It seems like you have to design a quite complex system here with many parts and gears to communicate and synchronize together. You'll need an OS for that kind of work. Arduino is not the language/paradigm for that kind of sophistication: even multi-threading will require some kind of hack.
It seems like an Arduino-phone is a development nightmare just waiting to come out.