(bug): fix issue with in cellNav by tracking by row.index

Tracking by $index causes issues because dom nodes get reused instead of
rebuilt.  While this does cause an increase in performance, it causes
too many side effects to be worth the increase.
Removed more unnecessary watches after trackby col name fix
Removed ui-grid-col directive and moved logic to ui-grid-cell
Added grid reference to GridColumn