Emit a signal when relation col0 and col2 changes.

* util/derandui.py (DerandomizeGui.imgRefresh): New method that will be called
everytime the text in the image needs to be painted.
(BindingTable.c02RelationChange): New signal that emits when relation changes.
Refactor BindingTable's column refresh logic

The columns now need to be refreshed in a specific order. 0->1->2. This is done
to be able to reorder all the csv information in a efficient way.
* util/derandui.py (BindingTalbe.imgRefresh): Don't print anything for now.
(BindingTable._colActionDispatcher): New method that anlyzes what type of change
is happening and calls the refresh methods in the required order.
(BindingTable.refreshCol{0,1,2}Header): To these methods we added a blockSignal
call in order to avoid signals firring while we do changes in the comboboxes.
(Bindingtable._refreshCol{0,1,2}): We move some of the logic in the removed
colsRebind method into these methods. It is important to call them in the
correct order 0>1>2.
(BindingTable._blankCol): New helper method to blank columns.
(BindignTable._copyCol): New helper method to copy one column to another offset.
Emit signal only when col{0,2} are not empty

* util/derandui.py (BindingTable._colActionDispatcher) : Check to see if both
columns are none empty before emitting the signal.
Col2 should mirror col1's behaviour

* util/derandui.py: Don't output anything to col2 unless there is something in
col0
Display the selected texts in the image.

* util/derandui.py (DerandomizeGUI.imgRefresh): We first remove all text from
image and then paint all the text in cols{0,2}
(BindingTable.iter_active_rows): Iterate over all the "active" rows. These are
the rows defined by the active elements in col0