如图, $\triangle A B C$ 内接于 $\odot O, A B$ 是 $\odot O$ 的直径, $\overparen{B C}=\widehat{B D}, D E \perp A C$ 于点 $E, D E$ 交 $B F$ 于点 $F$, 交 $A B$ 于点 $G, \angle B O D=2 \angle F$, 连接 $B D$.
(1) 求证: $B F$ 是 $\odot O$ 的切线;
(2) 判断 $\triangle D G B$ 的形状, 并说明理由;
(3) 当 $B D=2$ 时, 求 $F G$ 的长.