Characterization of continuity in terms of filters

Two characterizations of continuity are

1. For all filters $\mathcal{F}$, $\mathcal{F} \to x \implies f(\mathcal{F}) \to f(x)$.
2. $f(\overline{S}) \subseteq \overline{f(S)}$ for all $S$ subsets of the domain.

The implication (1) $\implies$ (2) is straightforward. For (2) $\implies$ (1), the way I have seen in books is to show that (2) implies normal continuity, which implies (1). But I really think there should be a nice direct proof of (2) $\implies$ (1) in terms of filters, since (2) is written in terms of limit points, and limit points have such a nice characterization in terms of filters.

Assume (2), and suppose that $\mathcal{F} \to x$. One would like to write $$x \in \cap_{F \in \mathcal{F}}\overline{F} \implies f(x) \in f(\cap_{F \in \mathcal{F}}\overline{F}) \subseteq \cap_{F \in \mathcal{F}}f(\overline{F}) = \cap_{F \in \mathcal{F}}\overline{f(F)},$$ but this only shows that $f$ takes a cluster point to a cluster point. On the other hand, if we look only at ultrafilters, cluster point is equivalent to convergence, so the above chain of reasoning works. But then we would have to prove that $\big(f$ preserves convergence of ultrafilters$\implies f$ preserves convergence of filters$\big)$.

Does anyone see a nice way out?

$$\bigg(x_\alpha \to x \implies f(x_\alpha) \to f(x) \bigg) \iff \bigg(x_\alpha \text{ has limit point } x \implies f(x_\alpha) \text{ has limit point } f(x)\bigg),$$
and the same holds for filters. Here we define the limit points of a net $x_\alpha$ as the set $\cap_\alpha \text{Cl}(\{x_\beta: \beta \geq \alpha \})$.
The $\implies$ implication is easy. For $\impliedby$, suppose the limit point condition holds, and suppose $x_\alpha \to x$. If $f(x_\alpha)$ does not converge to $f(x)$, then there is some neighborhood $V$ of $f(x)$ such that $f(x_\alpha)$ is frequently outside $V$. Then choose a subnet $x_\beta$ that stays outside $V$. We have $x_\beta \to x$, so $x$ is a cluster point of $x_\beta$, but $f(x_\beta)$ doesn't have $f(x)$ as a cluster point, a contradiction.
To do the argument for filters, just pass to the normal filter based on a net, i.e. the filter $\left\{ \{x_\beta: \beta \geq \alpha \}: \alpha \in A \right\}$. The analog of taking the subsequence is taking the join $\mathcal{N}_x \vee f^{-1}(\langle V^c \rangle)$, where $\langle V^c \rangle$ is the filter generated by $V^c$.