Insert text into a given rectangle.

    Notes:
        Creates a Shape object, uses its same-named method and commits it.
    Parameters:
        rect: (rect-like) area to use for text.
        buffer: text to be inserted
        fontname: a Base-14 font, font name or '/name'
        fontfile: name of a font file
        fontsize: font size
        color: RGB color triple
        expandtabs: handles tabulators with string function
        align: left, center, right, justified
        rotate: 0, 90, 180, or 270 degrees
        morph: morph box with  a matrix and a pivotal point
        overlay: put text in foreground or background
    Returns:
        unused or deficit rectangle area (float)

def insertTextbox(page, rect, buffer,
                  fontname="helv",
                  fontfile=None,
                  set_simple=0,
                  encoding=0,
                  fontsize=11,
                  color=None,
                  fill=None,
                  expandtabs=1,
                  align=0,
                  rotate=0,
                  render_mode=0,
                  border_width=1,
                  morph=None,
                  overlay=True):
    """ Insert text into a given rectangle.

    Notes:
        Creates a Shape object, uses its same-named method and commits it.
    Parameters:
        rect: (rect-like) area to use for text.
        buffer: text to be inserted
        fontname: a Base-14 font, font name or '/name'
        fontfile: name of a font file
        fontsize: font size
        color: RGB color triple
        expandtabs: handles tabulators with string function
        align: left, center, right, justified
        rotate: 0, 90, 180, or 270 degrees
        morph: morph box with  a matrix and a pivotal point
        overlay: put text in foreground or background
    Returns:
        unused or deficit rectangle area (float)
    """
    img = page.newShape()
    rc = img.insertTextbox(rect, buffer,
                           fontsize=fontsize,
                           fontname=fontname,
                           fontfile=fontfile,
                           set_simple=set_simple,
                           encoding=encoding,
                           color=color,
                           fill=fill,
                           expandtabs=expandtabs,
                           render_mode=render_mode,
                           border_width=border_width,
                           align=align,
                           rotate=rotate,
                           morph=morph)
    if rc >= 0:
        img.commit(overlay)
    return rc