Add DisplayNode.setSize()

This change adds a new function 'DisplayNode.setSize()', which changes the sizeo of the shape attached to a DisplayNode object, to prevent applications from changing the shape directly. (My new renderer needs to monitor such shape changes to add dirty regions.)