Refactor updating results.

It's a little bit cleaner to have the logic for whether to show the
footer inside updateResults. Also, updateResults is a way better name.
Perhaps consider moving all of the DOM update functions into one module.
Also, we definitely don't need to hide an empty div; that was just
silly to begin with.
Move listener for escape to separate function.

Moving some small bits of code to make their purpose a bit clearer.
Also, in theory we could pull this out into its own module and have that
functionality everywhere!
searchTextbox does not need to be global.
footer does not need to be global.
Make entries less stateful.

It's better to compose entries from multiple function calls than have
the function calls modify an array.
Refactor keyboard shortcut handling
Offset running main code so that the UI can load.

Marginal performance boost on launch. No one's going to be typing
queries within the first 100 ms anyway. Should probably do some real
tests. Nowhere near as fast as Alfred or dmenu, but performance is
something we can always improve.
Fix arrows not working when textbox not focused.

Combined into one event listener. A little bit cleaner now.
Fix footer highlighting on hover.
Fix multiple highlight bug.

Hovering over a menu item did not clear the highlight color from other
elements if they were selected via keyboard.