Fix createNewConnection method

- Disallow connecting 2 output connectors or 2 input connectors
- Disallow connecting a node with itself
- Fix creating connections when drag goes from other way round (from input connector to output connector)