Improved keyboard navigation

Modified the keyboard navigation selection handler to account for not
only invisible columns but also columns with a width of zero. This allow
better in grid validation when using ng-form attributes
Fixed mixed spaces and tabs
Grid error on $destroy

Check to make sure that the grid.$root is not undefined when removing
DOM elements
Merge pull request #1163 from thomkinson/master

Improved keyboard navigation