It's not that difficult but it took me 1h.
Here's my solution (Sadly I don't even found the contest at AoPS):
Let $M=CD\cap FG$, $X=MA\cap \bigodot P$ and $Y=MA\cap \bigodot Q$ different from A.
Observe that if $\bigodot (CHD)$ is tangent to $FG$ we whould finish (angle chasing).
Notice that the tangent from $M$ to any circle that passes through $CD$ has the same lenght. Because it is the power from the point $M$. And nos I claim that the lenght is $MA$.
Proof: $MC^2=MX\cdot MA$ and $MD^2=MA\cdot MY$ it's easy to show that $XCDY$ is cyclic so we have $MX\cdot MY=MC\cdot MD$ hence $MC\cdot MD=MA^2$
So if we proof that $MA=MH$ we would finish. That is easy since $\bigodot(FAG)$ is tangent to $MA$ because $CDFG$ is cyclic (quite obvious) hence $MC\cdot MD=MA^2=MF\cdot MG$. This means that $\angle FAM=\angle AGF$ now by angle chasing we can show that $\angle MHA=\angle MAH$ hence $MH=MA$ and done.
If there's anything that is unclear please let me know.