First of all, props for being an involved parent, too often so-called parents can't be bothered enough to even learn the first thing about what their kids are into, or to the other extreme, force their kids into re-living the life they had, or wish they had had. It sounds like the your kid will turn out alright whatever he ends up doing.
Don't worry about whoever says your son is too young for X or Y. In kids especially, simple curiosity and a logical mind are an astonishingly good substitute for a proper education. Besides that, we tend to limit kids by thinking of them as being similarly intelligent to their peer-group, but the factory-model education system cages in most of that potential so that they don't wander too far away from the others. As a result, we think of kids in general as far less capable than they actually are. All kids have awesome potential, but schools can't cope because it's directed in every which direction -- just encourage and facilitate him following his interest and prepare to be amazed.
I started with BASIC--we didn't have fancy Lego robot sets, Roblox, or Minecraft back then-- when I was around 10, and the only resources I had were the 4-5 dusty programming books in my rural school system's library, and an equally-dusty Apple IIe (we had much newer computers, but none with Basic). That was enough to set the hook in me, and I started working summer jobs about as soon as I could so that I could buy my own computer and continue learning to program. At some point in the late 90s we finally got internet at home, and I started visiting this forum and other sites. By the time I graduated high school in 2002 I had written about half a dozen substantial programs (games and game tools), and probably 2 dozen other smaller programs. There's quite a high concentration of well-known programmers who had a similar experience starting young, so your son is in good company. Its fairly uncommon, I think, to find people who self-identify as starting their path at a young age in just about any other field.
I'm going to second love2d that someone mentioned above. Lua is a great beginner-friendly language, the love2d community seems pretty friendly, and Lua is widely used in the games industry so its a practical skill too. Other options would be something like pygame or pyglet, or maybe something like Cinder if your son is interested/becomes interested in C++ (although that end of the pool is probably not a good place to start without guidance). Unity is also pretty good, but it can also be distracting, if not difficult, to mold it into something that's not supported out-of-the-box -- for example, its fairly well known that doing a 2D game in Unity proper is not terribly straight-forward (although, Unity 4.3 should be out soon and includes proper 2D support, so that'll probably change. Its currently in Beta.)
Anyhow, there's a lot of great frameworks out there, just beware that the ones that might look most flashy and professional aren't always the best choice, because sometimes there's a big nest of circuits behind it that has to be rewired before you can do anything simpler with it.