Added markuptools.with_color() and markuptools.smaller(). MODEL.

NEW FUNCTIONALITY.

These two functions alias the LilyPonds \with-color and \small markup commands.

The contents of markuptools now looks like this:

    markuptools.Markup
    markuptools.MarkupCommand
    markuptools.MarkupInventory
    markuptools.MusicGlyph

    markuptools.combine_markup_commands()
    markuptools.make_big_centered_page_number_markup()
    markuptools.make_blank_line_markup()
    markuptools.make_centered_title_markup()
    markuptools.make_vertically_adjusted_composer_markup()
    markuptools.smaller()
    markuptools.with_color()

MODEL: this is the tip of the iceberg of a new pattern entering the system. The
logical conclusion of the pattern will be the addition of all LilyPond markup
commands to the API. (There are a couple dozen such LilyPond commands.) The
work of adding the remaining LilyPond commands will be tedious. But the
benefits are striking.

Compare:

OLD:

    string = 'complicated string'
    color = schemetools.Scheme('blue')
    command = markuptools.MarkupCommand('with-color', color, string)
    command = markuptools.MarkupCommand('smaller', command)
    markup = Markup(contents=command)

NEW:

    string = 'complicated string'
    markup = markuptools.with_color('blue', markup)
    markup = markuptools.smaller(markup)

The benefits are fairly striking. Once the suite of LilyPond markup commands is
implemented ...

    * we shouldn't have to initialize MarkupCommand by hand again
    * we shouldn't have to initialize any schemetools classes by hand again
    * we don't have to conclude every markup-manipulation transaction by
      wrapping a MarkupCommand in a Markup object

Those benefits follow from the fact that new-style markup manipulation pass
only markup objecdts around; other types of object are handled implicitly in
the implementation of the different functions.