Let $N$ and $T$ be the midpoints of arc $BC$ and segment $DE$ respectively. let $\overline{BS}$ intersect $\overline{AT}$ at $J$. Then since $\triangle BJA\sim\triangle BMC$, it follows that $A,B,M,J$ are concyclic. Therefore, $\angle AMJ=\angle ABJ=ACT$, and so $JM\parallel BC$.
Claim: $N,T,K$ are collinear.
Proof. Let $\overline{NT}$ intersect $(ABC)$ at $K_1$. Then
\[(A,K_1;B,C)=(A,N;C,B)\stackrel{A}{=}(T,D;C,B)\]where the first equality is by an inversion at $T$ with radius $TA$.
Also,
\[(A,K;B,C)\stackrel{A}{=}(J,S;B,\overline{AC}\cap\overline{BS})\stackrel{M}{=}(P_\infty,D;B,C)=\frac{CD}{BD}.\]Since $CT:BT=CD^2:BD^2$, these two cross ratios are equal and so it follows that $K_1=K$. $\blacksquare$
Let $R$ be the midpoint of arc $BC$. Then since $\angle FBE=\angle CAE=\angle FAB$, $\triangle FAB\sim\triangle FBE$, so $FA\cdot FE=FB^2$ and consequently $F$ lies on the radical axis of $(ADE)$ and $(BIC)$. Finally, notice that $K$ is the foot of perpendicular from $F$ to the line joining the centers of those two circles. Therefore, $\overline{FK}$ must be the radical axis of them, which coincides with $\overline{PQ}$.
[asy][asy]
defaultpen(fontsize(10pt));
size(12cm);
pen mydash = linetype(new real[] {5,5});
pair A = dir(140);
pair B = dir(210);
pair C = dir(330);
pair I = incenter(A,B,C);
pair D = extension(A,I,B,C);
pair E = extension(A,rotate(90,A)*I,B,C);
pair O = circumcenter(A,B,C);
pair F = 2*foot(O,A,E)-A;
pair N = 2*foot(O,A,D)-A;
pair M = extension(F,N,A,C);
pair T = midpoint(D--E);
pair K = 2*foot(O,N,T)-N;
pair S = extension(A,K,D,M);
pair J = extension(B,S,A,T);
pair PQ[] = intersectionpoints(circumcircle(A,D,E),circumcircle(B,I,C));
draw(A--B--C--cycle, black+1);
draw(circumcircle(A,B,C));
draw(circumcircle(B,I,C));
draw(circumcircle(A,D,E));
draw(E--F);
draw(A--N);
draw(A--T);
draw(B--M);
draw(A--S);
draw(J--S);
draw(M--S);
draw(T--N, mydash);
draw(F--PQ[1], mydash);
draw(B--E);
dot("$A$", A, dir(90));
dot("$B$", B, dir(B));
dot("$C$", C, dir(0));
dot("$D$", D, dir(315));
dot("$E$", E, dir(180));
dot("$F$", F, dir(90));
dot("$I$", I, dir(150));
dot("$J$", J, dir(135));
dot("$K$", K, dir(20));
dot("$M$", M, dir(30));
dot("$N$", N, dir(270));
dot("$S$", S, dir(225));
dot("$T$", T, dir(270));
dot(PQ[0]);
dot(PQ[1]);
[/asy][/asy]