Support for formated text in Buttons

A button can now take a *Document as well as a plain text argument to
created the button label. This allow the user to create a formated
document as label. This follows the same pattern as document that
already supports formated input.
Ex.
html = pyglet.text.decode_html("HTML Button - <b>Bold</b> <i>Italics</i>")
button = Button(html)

This commits contains code, documentation, example code as well as test for
this feature.