Since one of your primary goals is to be able to upgrade and customize your computer to your gaming needs, I would strongly recommend NOT getting an iMac (full disclosure, I'm a current iMac owner).
An iMac is a rather decent gaming computer, but it's going to lack the punch of a custom built gaming PC for several reasons.
1. The graphics card. The iMac utilizes the type of graphics card you would normally find in a notebook computer. These are typically going to be about a generation behind the desktop cards.
2. Lack of customization. For the most part you are limited to just customizing a few things about your iMac. Namely hard disk space, amount of RAM and the type of processor and video card (based on a few stock choices). Apple currently upgrades the specs on these only about once a year, so you're stuck with older options if you need to buy at the wrong time.
3. Lack of upgradability. The only item in an iMac that is "user upgradeable" is the RAM. You can put in a new hard drive if you want, but that will require dismantling the screen (which you might be a bit sheepish to do). What does this mean in the long run? When your iMac is no longer able to play the games you want, instead of just going out and grabbing a new video card or CPU to remedy the issue (cost: $250-$600), you have to go buy a new iMac (cost: approx. $1200 or more). Not the most cost-effective solution.
Again, this is not to say that you can't game on a Mac. You most certainly can, and can typically play most games at a high frame rate (or just need to drop the resolution down to a respectable 1080p to do so). However, as already mentioned, when the time comes that your computer can't play the games you want any more (and that time will come, PC or Mac), your only option is to buy a new Mac.
I'm a big Mac fan, but if you're serious about gaming, a PC is your best bet still.