Going the ARM way may be your best (easiest) bet. We've researched this area some bit, and in our finding, sticking to AVR's was really limiting our possibilities (software capabilities), and more importantly the over-all project + production and per-unit produced item cost was higher than if we went with ARM processors.
You can buy Beagleboard ($125) / Beagleboard-xM ($149), and it has enough juices for all that you are doing, but you need to add the GSM+GPS modules, and the Telit modules are apparently quite good. We have are in the process of acquiring Telit modules to test in our own prototype. They come highly recommended. Apart from being a very large, well-established, global multinational organization, from a developer standpoint, the development support they provide in form of documentation is plain excellent. Going with Simcom, Benq or other such modules is that, you could potentially have (decent) price savings esply when you are talking of volume production, but the development effort/integration effort, might be more.
Of course, there are other highly experienced gurus on the list, so please listen to their advice as well. I am myself a rather newbie, but have been digging deep in the last few months and close to getting something real, ready & working.
---------- Post added at 11:48 ---------- Previous post was at 11:44 ----------
Oh, and BTW, if you do take the ARM route, then there are platform that are far cheaper than Beagleboard, and based on your application, I think an ARM7TDMI platform like ones based on NXP's LPC2148 might suffice. All depends on how frequent/fast you want to take the snapshots, what processing you might want to do etc. I've seen ARM7TDMI based boards with a 2.4" LCD display + touch-screen at an incredible price of $40-$45. And based on your application, that might be pretty much all you need.