Concurrency of the heights of a tetrahedron with opposite edges perpendicular. Can anyone give me a vectorial solution to the following problem:

Prove that if each pair of opposite edges of the tetrahedron $ABCD$ is perpendicular (that is, $AB \perp CD$ and $AC \perp BD$ and $AD \perp BC$), then the heights of the tetrahedron are concurrent.

Here, the heights (also known as the altitudes) of tetrahedron $ABCD$ are the perpendicular from $A$ to the plane $BCD$, and three other similarly defined perpendiculars.
Tetrahedra satisfying the condition of this problem are called orthocentric, and this appears to be a known result.

That is a simple exercise in visualization. Imagine that $A,B,C$ are embedded in the $xy$ plane (the screen) and $D$ lies on the $z$-axis (orthogonal to the screen), so that the origin $O$ is the projection of $D$ on the plane through $A,B,C$. Since $DB\perp AC$ (in $3$D) we have $OB\perp AC$ (in $2$D). Similarly we get $OA\perp BC$ and $OC\perp AB$, hence $O$ is the orthocenter of $ABC$.

The orthocenter $H_A$ of the $BCD$ face lies on on the line joining $D$ with its projection on $BC$, hence the projection of $H_A$ on the $ABC$ plane lies on the $AO$ line. In particular the lines $AH_A,BH_B,CH_C,DH_D$ are concurrent when projected on the $ABC$ plane. The same holds by replacing $ABC$ with any face of the tetrahedron, hence the lines $AH_A,BH_B,CH_C,DH_D$ are concurrent in the $3$D space.
