Removed 5px bottom margin on #highlight.

Added 5px top padding to #emojis.
Added hover highlight to individual emojis.
Added class .highlight.

Same style rule as hovering over an emoji.
Added ability to highlight with arrow keys.
Extracted emoji onclick handler.

Logic moved to function 'select_and_close'.
Pressing enter selects currently highlighted emoji.
Extracted setting of shortcode label.

Logic moved to function set_shortcode_label.
Set shortcode when moving with arrow keys.
Renamed #highlight id to #shortcode_label.
Divided codebase into three sections.

UTILITY FUNCTIONS
GLOBAL VARS
EVENT HANDLERS

Also moved variable declarations into global scope, for them to be
accessible in the utility methods.
Moved move_highlight() into util functions section.
Moved document.onkeydown into global scope.
Removed :hover pseudo class for highlight.
Add/remove class highlight on mouse hover.

Replaces :hover css rule.
Added function move_highlight_to.

Use move_highlight_to in mouse hover callback instead of present logic.
Removed move_highlight.

Now use move_highlight_to in arrow key handler as well.
Set shortcode on arrow key movements.
Keyboard navigation feature refinement.

Fixed a lot of edge cases bugs that caused errors.

Now the highlight is only navigated within the currenlty filtered
images.

Keyboard navigation is made active solely when the search input is out
of focus. This avoids mixing cursor movement in the input field, with
highlight movement amongst the images. Tab changes focus from the input
field to the first image.
Updated scroll into view logic.

Use webkit specific scrollIntoViewIfNeeded instead of plain
scrollIntoView.
Merge branch 'add-keyboard-navigation'