Added Gadget setHighlighted/getHighlighted methods.

These match the equivalent methods on the Widget class.
Implemented highlighted drawing for StandardNodule.

It was already doing this, but using a private m_hovered member variable rather than the public status.
Moved node selection highlighting from StandardNodeGadget to GraphGadget.

This reduces the amount of signal handling needed to keep the highlight status up to date, and means other NodeGadget implementations would have one less thing to worry about.
Removed explicit selection handling from BackdropNodeGadget.

It just uses the highlighting state now that that is kept in sync with the selection by the GraphGadget.
Added pre-selection highlighting for GraphGadget.

As the user drags out the selection rectangle in the node graph, nodes are highlighted to indicate whether or not they will be selected. This makes it clearer what is about to happen, and avoids ambiguity about whether it is wholly enclosed or merely intersected nodes that will be selected.

Fixes #94.
Merge pull request #726 from johnhaddon/nodeSelectionPreHighlighting

Node selection pre-highlighting