Fixes #734, do not set the tab index on a grid header when the header is hidden

When a grid's header is hidden, do not set a tab stop in the header.  Each time `showHeader` is changed via `grid.set('showHeader', ...)`, the `initHeader` function is called.  The previous tab stop is now removed and a new one is added only it the header is visible.

This pull request will not merge cleanly with pull request https://github.com/SitePen/dgrid/pull/737 but the changes here to `Keyboard.js` can easily be applied to that pull request.