Implement sequence-safe word wrapping

Add wrap method to Terminal, with accompanying AnsiWrapper class, a
derived version of textwrap.TextWrapper, with a modified version of
_wrap_chunks that is sequence-safe.

A module-global function, 'ansiwrap' is exposed. Sequences are detected
using a range of byte matching and regular expressions. This sequence
padding code been tested thoroughly on ANSI Art from the "Dark Domains"
DVD by "ACiD Productions". Example usage:

>> import blessings
>> t = blessings.Terminal()
>>> for num, byte in enumerate('Pony Express, Choo! CHooooooOOoooOOo!'):
...    seq += t.color(num % 7) + t.bold + byte + t.normal
>>> import textwrap
>>> print u'\n'.join(textwrap.wrap(seq, 15))

(as you can see, textwrap fails horribly !!)

>>> print u'\n'.join(t.wrap(seq, 15))
Pony Express,
Choo!
CHooooooOOoooOOo!

winning !!
Fix center, ljust, rjust

Continuing the example from the previous commit, it is now possible:

>>> print t.center(seq)
                     Pony Express, Choo! CHooooooOOoooOOo!
re-shuffle .center, .ljust, and .rjust

Instantate AnsiString from Terminal, so AnsiString contains these
padding methods, requires less instantiation.