Fixed StandardGraphLayout test failures.

These were brought about by 812fafc4e4f32cda50362185350494851c76afec, because it meant that connections were being made to the "enabled" plug rather than the expected one. Disabling the creation of nodules for the "enabled" plug fixes the tests, and makes the behaviour of AddNode match all other nodes with "enabled" plugs, whereby that plug is not shown in the graph.
Refactored ConnectionGadget to allow for custom subclasses.

ConnectionGadget itself is now an abstract base class with a factory mechanism for the registration and creation of subclasses. StandardNodeGadget takes on most of the old functionality of the ConnectionGadget, matching the pattern we have for NodeGadget and Nodule.

At its simplest, the factory mechanism allows the customisation of styles and tooltips as illustrated in the test cases, but it would now be possible to implement entire new derived classes for totally custom drawing of connections.
Fixed slight jump when connections are first drawn.
Added class documentation for ConnectionGadgets.
Improved ConnectionGadget tooltip testing.
Merge pull request #731 from johnhaddon/connectionFactory

Connection improvements