Complete JS code refactor. Add keyboard selection.

Add keyboard selection. Prevent event bubbling.

Nix console.log from keyboard scrollLeft