Case-sensitivity edge-cases

I did a quick audit of the codebase to see if there were areas where oddly-cased tag and attribute names might be mishandled, and found quite a few.

In many cases I was able to simply pass around the lower-cased tag name but in order to maintain case-sensitivity when configured, I also have to schlep around the original format for tag names.

My hope was that reducing the number of string conversions would result in an overall speed-up, but it appears the additional memory pressure means this is pretty much a wash.