It's not a full answer, but may be useful.
Lemma. For all $[a,b]$ and all $\epsilon > 0$ $\exists [a_{\epsilon}, b_{\epsilon}] \subset [a,b]$: $$\overline{lim}_{x \to \infty} \sup_{h \in [a_{\epsilon}, b_{\epsilon}]} |f(x+h) - f(x)| \le \epsilon.$$
Proof. Let us prove it by contradiction. Suppose $\exists$ $[a_0,b_0]$ and $\epsilon_0 > 0$ such that $\forall [c,d] \subset [a_0,b_0] $
$$\overline{lim}_{x \to \infty} \sup_{h \in [c,d]} |f(x+h) - f(x)| > \epsilon_0.$$
Consider $[c,d] = [a_0, b_0]$. We have $\overline{lim}_{x \to \infty} \sup_{h \in [a_0, b_0]} |f(x+h) - f(x)| > \epsilon_0$ and hence $\exists x_1$ such that $\sup_{h \in [a_0, b_0]} |f(x_1+h) - f(x_1)| > \epsilon_0$. Condider a function $g_1(h) = |f(x_1+h) - f(x_1)|$ for $h \in [a_0, b_0]$. It's a continious function and it's maximal value is bigger than $\epsilon_0$. Thus $\exists$ a closed interval $\Delta_1 \subset [a_0, b_0]$ such that $|f(x_1+h) - f(x_1)| \ge \epsilon_0$ for all $h \in \Delta_1$.
Further consider $[c,d] = \Delta_1$. We have $\overline{lim}_{x \to \infty} \sup_{h \in \Delta_1} |f(x+h) - f(x)| > \epsilon_0$ and hence $\exists x_2 > x_1+1$ such that $\sup_{h \in \Delta_1} |f(x_2+h) - f(x_2)| > \epsilon_0$. Condider a function $g_2(h) = |f(x_2+h) - f(x_2)|$ for $h \in \Delta_1$. It's a continious function and it's maximal value is bigger than $\epsilon_0$. Thus $\exists$ a closed interval $\Delta_2 \subset \Delta_1$ such that $|f(x_2+h) - f(x_2)| \ge \epsilon_0$ for all $h \in \Delta_2$.
Continuing the construction further, we get $x_n$ and $\Delta_n$ such that $x_{n+1} > x_n + 1$, $\Delta_{n+1} \subset \Delta_n$ and $|f(x_n+h) - f(x_n)| \ge \epsilon_0$ for all $h \in \Delta_n$.
The set $\cap_n \Delta_n$ is not empty and thus $\exists h_0 \in \cap_n \Delta_n$. We know $|f(x_n+h_0) - f(x_n)| \ge \epsilon_0$ and $x_n \to \infty$. Hence, $f(x+h) - f(x)$ doesn't converge to $0$ as $x \to \infty$. We got a contradiction. Lemma is proved.
It follows form lemma that for all $[a,b]$ and all $\epsilon > 0$ $\exists [a_{\epsilon}, b_{\epsilon}] \subset [a,b]$: $\overline{lim}_{x \to \infty} \sup_{h \in [a_{\epsilon}, b_{\epsilon}]} |f(x+h) - f(x)| < 2\epsilon$ and hence
$$ |f(x+h) - f(x)| < 2\epsilon$$
for all $h \in [a_{\epsilon}, b_{\epsilon}]$ and $x \ge x_0(\epsilon, a, b)$.
Let us show that $f$ is uniformly continuous on $[0, \infty)$.
Fix $\epsilon > 0$. Let $y, z$ be such real numbers that $x_0(\epsilon, 1, 2) + a_{\epsilon} \le y \le z \le y + b_{\epsilon} - a_{\epsilon}$. Put $x =y -a_{\epsilon} $, $h_1= y-x$, $h_2 = z-x$. Thus $h_1 = a_{\epsilon} \in [a_{\epsilon}, b_{\epsilon}]$ and $ a_{\epsilon} = h_1 \le h_2 = z-x \le y + b_{\epsilon} - a_{\epsilon} -x = b_{\epsilon}$, $h_2 \in [a_{\epsilon}, b_{\epsilon}]$. We have $x \ge x_0(\epsilon, 1, 2)$,
$$|f(y) - f(x)| = |f(x + (y-x)) - f(x)| = |f(x+h_1) - f(x)| \le 2\epsilon,$$
$$|f(z) - f(x)| = |f(x + (z-x)) - f(x)| = |f(x+h_2) - f(x)| \le 2\epsilon,$$
$$|f(z) - f(y)| = |(f(z) - f(x)) - (f(y)-f(x))| \le |f(z) - f(x)| + |f(y) - f(x)| \le 4\epsilon.$$
But $[a_{\epsilon}, b_{\epsilon}] \subset [a,b] = [1,2]$ and thus $a_{\epsilon} \le 2$. Put $\delta_1(\epsilon) = b_{\epsilon} - a_{\epsilon}$. We proved that
if $y, z$ are such that $x_0(\epsilon, 1, 2) + 2 \le y,z$ and $|y-z| \le \delta_1$ then $|f(z) - f(y)| \le 4\epsilon.$
Moreover, we know that $f$ is uniformly continuous on $[0, x_0(\epsilon, 1, 2) + 3]$. Hence $\exists \delta_2(\epsilon) > 0$ such that if $y, z \in [0, x_0(\epsilon, 1, 2)+3]$ and $|y-z| \le \delta_2$ then $|f(z) - f(y)| \le \epsilon$.
Put $\delta = \min(\delta_1, \delta_2, 1)$. If $|y-z| \le \delta$ then either $y,z \in [0, x_0(\epsilon, 1, 2) + 3]$ or $y, z \ge x_0(\epsilon, 1, 2) + 2$. Thus, $|f(z) - f(y)| \le 4\epsilon$ and $f$ is uniformly continuous on $[0, \infty)$.