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.
All of the changes in this spec come from the same problem: both the gui and the dsl representation of textblock have a `style` method. The work around I found here seems fine. But I found it more or less by trial and error which means I'm a little suspicious of it. :)