recent_topics: Separate behaviour for scrolling and hotkeys.
recent_topics: Separate behaviour for scrolling and hotkeys.

When user is scrolling, we simply keep the center element in
focus.

When user is using hotkeys, we keep the focused element in
center.

When user is using keyboard, we need to always keep the
"focused" topic in visible scrolling area.

We determine if the topic row is above or below the visible
area and scroll half_height_of_visible_area so that the selected
topic is visible.

This gives a nice navigation experience for both the views.

Reduced height of recent topics table to account for
compose box so that focused element is not below compose box.

zulip/zulip,eeshangarg/zulip,andersk/zulip,andersk/zulip,andersk/zulip,rht/zulip,andersk/zulip,kou/zulip,rht/zulip,rht/zulip,eeshangarg/zulip,eeshangarg/zulip,kou/zulip,kou/zulip,kou/zulip,kou/zulip,rht/zulip,eeshangarg/zulip,eeshangarg/zulip,kou/zulip,eeshangarg/zulip,zulip/zulip,rht/zulip,eeshangarg/zulip,zulip/zulip,zulip/zulip,andersk/zulip,rht/zulip,zulip/zulip,kou/zulip,rht/zulip,zulip/zulip,andersk/zulip,andersk/zulip,zulip/zulip