Initial work on handling text formatting transparently...

This took a lot of fiddling to meet all my criteria! However, a user should
be able to use blessings.Terminal like syntax for all the content in their
UI elements, and we should just be able to work out a) the size of the
content appropriately (i.e. not include all the escape sequences in length
calculations) and b) make sure that 'normal' is relative to what the parent
element defines as 'normal', rather than always what the terminal defines.

Note, there are some bits here that seem quite inefficient and will
probably need to be refined. I'm going to do a bunch more unit testing and
some examples first though, so that I can check all is hunky-dory!
Fix bug with StringWithFormatting addition
Made Format derive from str...

It cleaned up messing with the stream in the terminal, and didn't require
phenominal overhead in Format.__call__ to get back to what the behaviour of the
original blessings class would have been.
Increased unit test coverage of formatting-related logic
Added word-wrapping beviour to StringWithFormatting...

It was just to mad to try to make StringWithFormatting behave enough like
a normal string to work with other modules like re, which were required for
the standard library's textwrap stuff. I borrowed quite heavily from that
implementation though (althogh we don't do indents).
Moved word-wrapping behaviour...

to make interface more like that of standard textwrap.
Add comment to StringWithFormatting docstring...

I came back to this after a while and couldn't remember what I was doing!
Made StringWithFormatting addition handle concatenation of strings better...

Now when adding strings onto the end of a StringWithFormatting that
already ends in a string (rather than a Format), we will combine the two.
The output is nicely cleaner, but the it makes the implementation messy, so
I'm not entirely sure what I think of it.
Added some resiliancy to wrapping code...

mostly centred around what happens with empty input.
Made elements get a default Terminal...

So that Text could insert normal at the end of the text content.

Also made crop_or_expand more flexible about mashing default objects into the
list it's manipulating - now if they'll fit, we'll insert them. (Yes, should
have done separate commits, but hey)
Made normal Format that comes back from calling a Format string consistent...

with what comes out of Terminal.
Added 'quick brown fox' example of formatted text.

NB. the .format string substitution method of adding Format information doesn't
quite function as desired yet :-(
Merge pull request #5 from ch3pjw/str_with_format

Handle formatting in strings transparently