Finished first working version of connections

1) When two circles are selected a connection is formed.
2) When the same two circles are selected again, the connection is not formed.
3) When one of the circles moves, the connection object is notified and also
moves its line. This is done by giving each circle an instance of a simple
event listener object that handles the notification. Other objects can now
register callback functions to this event listener on certain events. There can
be multiple callbacks from multiple origins registered to the same event.