Added nodeGadget:minimumWidth metadata.

This is supported by StandardNodeGadget and replaces a previously hardcoded value.
Improved StandardNodeGadget drag/drop handling.

StandardNodeGadget accepts drag enter/move/leave/drop in order to snap drags to the nearest nodule, which makes the node graph much easier to use. But it was returning true from these event handlers regardless of whether or not it was actually performing any snapping. It now returns false if not performing snapping, enabling other handlers to step in and do their own thing.
Added Nodule::updateDragEndPoint() virtual method.

This mirrors ConnectionGadget::updateDragEndPoint(), allowing the recipient of the drag to update the Nodule with the location of the new drag endpoint.

Binary incompatibility :

	- Added virtual method to Nodule.
ScriptNode tweak. Explain me!
Added Dot node.
DotUI
Made StandardGraphLayout::connectNode() work with fresh Dots.
Updated node acceptsInput() implementations for Dot nodes.

Some nodes require that their inputs come from a specific node type, but they also need to accept Dots as an intermediate node which can deliver that node type indirectly.
Added Menu.popupPosition() method.

This is intended for when a menu item wishes to know the exact position of the cursor when the menu was popped up, rather than where the cursor was after the menu was moved fully onscreen and the user moved the cursor to choose the item.
Improved positioning of nodes created by the NodeMenu.

They are now placed where the cursor was when the menu was opened, rather than at the top left corner of the menu itself.
Improved support for functools.partial() callables in Menu commands.

We now introspect them to see if they contain "menu" or "checkBox" arguments, and pass those arguments appropriately where necessary.
Positioning inserted dots at the cursor.
Added bindings for DotNodeGadget.

Without this, a DotNodeGadget is returned to python as a RefCounted instance rather than a Gadget, preventing the right click node menu from working in the NodeGraph.
Got Dot connections appearing on the right sides of the dot.
Fixed ShaderSwitch and Shader UIs to work with Dots.

Specifying nodule positions with metadata rather than with the deprecated argument to the StandardNodeGadget constructor allows the Dot to get the nodule positions right. This is part of the continuing transition to using metadata rather than code to describe as much of the UI as possible.
Got snapping working properly when connecting to a virgin Dot.