'Create a new :class:`.SchemeNode` and add it to the scheme.
Same as::
scheme.add_node(SchemeNode(description, title, position,
properties))
Parameters
description : :class:`WidgetDescription`
The new node\'s description.
title : str, optional
Optional new nodes title. By default `description.name` is used.
position : `(x, y)` tuple of floats, optional
Optional position in a 2D space.
properties : dict, optional
A dictionary of optional extra properties.
See also
.SchemeNode, Scheme.add_node'

def new_node(self, description, title=None, position=None, properties=None):

    if isinstance(description, WidgetDescription):
        node = SchemeNode(description, title=title, position=position, properties=properties)
    else:
        raise TypeError(('Expected    %r,    got    %r.' % (WidgetDescription, type(description))))
    self.add_node(node)
    return node
