You could take the approach that a couple of projects at Bell Labs (back when it was still Bell Labs) did with a couple of projects. Brian Kernighan and P. J. Plauger developed their own "Rational Fortram" language, called "ratfor" with a translater that took ratfor programs and converted them into standard Fortran. Since high-quality Fortran compilers were (and still are) available for every significant machine and OS, so that ran in more places than C did.
Later, Bjarne Stroustrup did the same thing with early versions of his C++ language. The "AT&T C++" compilers translated C++ into C and then used the Unix C compiler to create executable code.
C or C++ would be good languages these days, since ISO standard compilers exist everywhere, usually with pretty good code generators.
Another way to get a "run anywhere" language is the ones used by Jython and Iron Python to implement compiled versions of the Python language. Jython compiles for Java's JVM, and Iron Python compiles a different dialect of Python to the .NET "CLI" (or on non-Windows systems using the Mono platform). That would be more involved...but I believe those are both open source so there are working examples to look at.
In the "computer from the ground up" department, you might be interested in the Raspberry Pi project. It's a small-but-complete ARM computer system, including an OpenGL-compatable GPU, on a tiny board for $25. That doesn't include the SD card used for the boot device, nor the power supply, keyboard, mouse or monitor.
http://www.raspberrypi.org/