[Frontend] refactor tab completion

Move tab completion from the individual frontends into a set of classes in
Frontend. Implement cycling through nicknames in irssi mode.