fix(uiGridCell): re-compile if template changes

As the grid is scrolled horizontally, the column that a cell is bound to
changes, and if the cellTemplate of the new column is different, the cell
needs to be recompiled. Otherwise it will display with the
previous/original cell's
template.

This change watches the column's cellTemplate and re-compiles on-change.
There is perhaps a slight performance hit with different cell templates,
as the cells must be emptied and re-compiled on-scroll, but it's not
excessive.