in_bounds? for TextBlock

Resolves #498

TextBlock's claim to be clickable, but weren't doing correct bounds checking. This meant that all the clickable stuff would just fail to do anything on a click since they were always considered out of bounds.

This commit implements the bounds checking in the backend class and delegates to it from the DSL.

I'll note that after I'd done this I tried back on Shoes 3 and noted that it didn't allow for direct clicks on para elements, but I like the functionality anyway (plus it seemed to be intended in Shoes 4 given the inclusion of clicking modules in the `TextBlock` classes.)