I don't know why layering works in this example. But it does. I think it is because I changed up the texture unit.
Weirdly enough this works too. Note several things: the fragment shader is not really kicking in, the GL_BLEND is working, and most importantly, I never load the text texture in! What is going on?
Successfully drawing numbers and arrow textures! Commit right before combining with Leland.