Some code changes to make refactoring easier.
Completions now stay on the side on which they first appeared.

Previously, the completion window would change from above to below the current line
based on the number of completions and the location of the line. Now, it stays in
place.

Note: the ordering is still not consistent. Working on that next.
Consolidated a method call to be consistent with others.
Fixed the selection upon filtering the list.
Fixed a bug that moved the completions window down.