When navigating on the available items, only scroll as much as required to make the newly focusses item back into visible area,
thus
when focusRect.bottom > viewRect.bottom: scrollUp min_elem(focusRect.bottom- viewRect.bottom, focusRect.top - viewRect.top).
when focusRect.top< viewRect.top: scrollUp min_elem(focusRect.bottom- viewRect.bottom, focusRect.top - viewRect.top)
similarly for left and right