Shook up a whole lotta stuff

I apologize for these enormous commits...
nicer text-drawing functions