Fixing issue with textRect.width

This solves an issue with the textRect being inaccurate when there are
no characters in it (because I was doing a max/min bounds calculation
that was expecting at least one character).

The other issue was a one-frame delay of the textRect size when setting
the text, which is due to the fact that the text quads are generated
"late" (in other words, they aren't generated until the update loop, so
that if you change the text along during a single frame, it won't go
crazy with recreating quads). I've now solved this by making the
label.textRect getter update the quads to ensure they're accurate.