You can do 2D just fine with what's in this tutorial - just set up an orthogonal projection and ignore the z-axis. It won't give you what ggplot2 does, but if you just need a way to draw 2D shapes, it will work.
Thanks, this is what I was looking for. I understand completely that ggplot2 is a much higher level abstraction of graphics. I want to build my own abstractions from first principles, but though I have a lot of programming experience, I have essentially zero experience with programming graphics from the ground up. It sounds like this will be a good place to start.