$f$ cont., $X\subset \mathbb{R}^n$ compact, invariant $\Rightarrow$ ($f$ transitive $\Rightarrow$ $\exists$ dense orbit) In Martelli's book "Introduction to Discrete Dynamical Systems and Chaos", (p.208), the following theorem is stated without proof:

"Theorem 6.2.1 Assume that for every $x\in X$ and every $r>0$, there exists $n\geq 1$ such that $F^n(B(x,r)\cap X)=X$. Then there exists $x_0\in X$ such that $L(x_0)=X$."

(Where $L(x_0)$ is the set of limit points of the orbit of $x_0$ under $f$, i.e. $\{f^n(x_0)\}_{n\geq 0}$. Also $L(x_0)=X$ is used as definition of a dense in $X$ orbit.)


Even if not explicitly stated in the theorem, it is (to me at least) also clear from the context, that we may additionally assume that $F:U\subset \mathbb{R}^n\to\mathbb{R}^n$ is continuous, $X\subset U$ is closed, bounded and invariant. I think it is also clear that $F^n(B(x,r)\cap X)=X$ implies that $f$ is topologically transitive in $X$.
In a paper by Stephen Silverman [Silv], from 1992, the existance of a dense orbit is denoted as DO, and topological transitivity of $f$ as TT.
It is explained at Scholarpedia, that DO and TT are not equivalent in general, but it is proved in [Silv] (Prop. 1.1) that $X$ perfect, separable and second category ensures that TT implies DO. This would then apply to a compact set $X$ as above.
Question: I am now trying to come up with a proof (essentially of TT $\Rightarrow$ DO), under the assumptions above, that only includes fundamental analysis (say concepts from [Rudin]) or at least with as little prerequisites as possible (not first/second category, etc.). Say, using that $X$ is closed bounded. It feels like it should be simple enough, and perhaps it is obvious and I have misunderstood one or more of the concepts, but I would love some help.
Thoughts: What we want to show is that, given $x\in X$ arbitrary, we can find a $x_0\in X$ such that every neighborhood $N_\epsilon (x)$ of x, contains points of $\{f^n(x_0)\}_{n\geq 0}$. By covering $X$ with a finite cover of balls $\{B_i\}$ of radius $\frac{1}{k}$, and finding $x_k$ whose orbit visits each $U_i$ for such a cover, then finding a sequence $\{x_k\}$ that converges to some point $x_0$ could do. It is obvious that for each such $x$, there is some point $p$ in an open neighborhood of a point $x_0$ that will eventually get mapped into a neighborhood of $x$, but I cannot see how we can find one $x_0$ that works for all neighborhoods of $x$.
(The level here is approx. undergraduate in mathematics.)
 A: Let $X$ be a compact metric space, and $F : X \to X$ a map with the property that for any $x \in X, r > 0$ there exists $n \geq 1$ such that $F(B(x, r)) = X$ (here $B(x,r) = \{ y \in X : d_X(x, y) \leq r\}$, so we need not intersect with $X$; it is most convenient to work with closed balls).
Fix a dense sequence $\{ x_i\}_{i = 1}^\infty$. Define $r_n = 1/n$. I'll define iteratively a sequence of nonempty closed sets $U_1\supset U_2 \supset \cdots$ as follows. First, $U_1 := B(x_1, r_1)$. Next, let $n_1$ be such that $F^{n_1}(B(x_1, r_1)) = X$. Define
$$
U_2 := U_1 \cap F^{-n_1} B(x_2, r_2) \, ,
$$
noting that $U_2 \subset U_1$ is nonempty and closed, and $F^{n_1} U_2 = B(x_2, r_2)$. 
Inductively, given $U_1 \supset \cdots \supset U_m$ closed and $n_1, \cdots, n_{m-1}$ for which $F^{n_1 + \cdots + n_{m-1}} U_m = B(x_m, r_m)$, define $n_m$ so that $F^{n_m} B(x_m, r_m) = X$ and set $U_{m+1} = U_m \cap F^{-(n_1 + \cdots + n_m)} B(x_{m+1}, r_{m+1})$.
By the finite intersection property, $\cap_{m \geq 1} U_m$ is nonempty and so contains a point $x_0$. To check density observe that $d_X(F^{n_1 + \cdots + n_{m-1}} x_0, x_m) \leq r_m = 1/m$. So, if $x = \lim_{i \to \infty} x_{m_i}$ for a subsequence $\{ m_i\}$, then
$$
x = \lim_{i \to \infty} F^{n_1 + \cdots + n_{m_i - 1}} x_0 \, .
$$
