TextBlock style update 

Hi all,

This one passes tests and I ran through a few samples and it seems to behave as expected!

I did make a bunch of changes that I'll comment on inline which should be reviewed. I'm pretty sure this can be improved in a couple of places but I'm not sure how.

@jasonrclark I'm not sure how this should mix with #832. Based on what I see I think they should play nicely.
So is it possible for the `TextBlock` class to just get its own default styles like any other element? And then the subclasses just would override it? Seems like that would let us spec against it safely, but I haven't tried.

If that isn't plausible, I'm not super-opposed to specing against one of the subclasses given how thin they are, and `Para` would be my go-to choice for a "generic" piece of text.