Add support for horizontal navigation

For a 2-dimensional grid, I eventually would like to be able to have 2-d navigation support in knockout.selection. How  I'd like to solve that problem I'm not sure yet, see https://github.com/bramstein/knockout.selection/issues/78, but a first step would be to add support for horizontal navigation - currently we only have vertical navigation support, so horizontally ordered data sets aren't as intuitive to navigate through with the keyboard.

This pull request adds a 'direction' option which can be 'horizontal' or 'vertical', defaults to 'vertical'. It's not an observable because the way it's implemented doesn't support changing the direction on the fly. Suggestions for making that possible as well are welcome of course.

Tests and examples for horizontal single- and multi-select mode have been added.

Commit https://github.com/mwoc/knockout.selection/commit/17bbe7249a3f873fc0d990fdb47fae2c61293a17 is fixing some bugs for which I didn't want to send a separate pull request.