Fixed CPU Utilization = 100%

The problem was that the links were being updated within the paint event
for the graphics items which in turn would call the paint event.

To fix this I used the graphics view paint event to update the links
since the graphics view was only updated when there was a visual change
to the viewport.