First the answer: The motion is not quite stable, but only because of two subtle thing that your brain probably can intuitively feel:
- the rate at which the outer ring (the one that is rotating around the vertical axis) rotates has to speed up and slow down as the inner ring becomes vertical and horizontal respectively. Once you slow down and speed up the outer ring, the motion is fine. But if you don't do this, you need to provide twisting torques at the top and bottom periodically to compensate.
- the rate at which the inner ring spins has to speed up and slow down as the ring becmes horizontal and vertical, due to the centrifugal force in its frame pulling it out and pushing it in.
It is these two things that make the motion nonuniform rotation speed, and this makes the motion seem off intuitively. You can't make both motions uniform with the same period--- the inner ring has to speed up and slow down even in the limit of large mass of outer ring.
When you do the slowing down and speeding up, as required by the changing moment of inertia, and also the slowing down and speeding up required by the centrifugal pushing and pulling, this motion is natural. It does require stresses and torques on the system, but they are the kind that are naturally provided by the mount, they are just the forces holding the mount in place.
Solving the Lagrangian
The analysis Kostya did for the Lagrangian is correct (althugh I originally swapped his angle names). The outer ring is rotated by a rotation matrix $R_z(\phi)$, while the inner ring is rotated by $R_z(\phi)R_x(\theta)$, meaning first rotate around the x axis, then around the z axis. The motion of any point from a change in $\theta$ is always perpendicular to the motion from $\phi$, so there are no cross-terms.
The total moment of inertia for the $\phi$ motion is the sum of the moment of inertia of the outer ring, and the moment of inertia of the tilted inner ring.
The inner ring, as it is tilted, goes from having a moment of inertia I when it is horizontal to I/2 when it is vertical. This means that the whole Lagrangian is
$$ L = {1\over 2} (A + C \cos^2(\theta)) \dot{\phi}^2 + {1\over 2} B \dot{\theta}^2 $$
Just as Kostya says (for a planar internal motion C=2B). This Lagrangian has a conserved energy and a conserved $\phi$ momentum, since $\phi$ does not appear in L (the system is symmetric with respect to rotations around the z-axis), and this reduces it to a 1 degree of freedom system.
From the conservation of $\phi$ momentum,
$$ p_\phi = (A+C \cos^2(\theta)) \dot{\phi} = P $$
Which gives the rate of change of $\phi$, and the coefficient B tells you how it speeds up and slows down as you make the inner disk vertical or horizontal. The conservation of energy now tells you $\dot{\theta}$
$$ H = p_\phi \dot{\phi} + p_\theta \dot{\theta} - L = L $$
So that
$$ B\dot{\theta}^2 + {P^2\over A+ C \cos^2(\theta)} = 2E $$
The point of this is only that the $\phi$ motion is nonuniform only to the extent that C is nonzero (the same reason the outer ring is rotating nonuniformly), so you get a perfectly fine periodic motion in $\phi$, and you can adjust the total $\theta$ period to equal the $\phi$ period to make a motion which is qualitatively like the one shown in the film. The film is never exact, even though the outer motion can be much heavier than the inner ring, the inner ring (if it is flat) must speed up and slow down due to centrifugal force.
I felt I needed intuition about the stresses involved to keep the rings rotating, which you don't see in the Lagrangian formulation.
Some intuition on the stresses
To see how the stresses work, imagine the outer ring is infinitely heavy, and rotating with a constant angular velocity (this is what is shown in the movie). Now transform to the rotating frame. There are two ficititious forces. The centrifugal force is cancelling on the ring between the two sides, and the effect of this is just to make the inner ring it want to explode outward when it is horizontal (there is no effect when it is vertical). The effect of this is to introduce the centrifugal potential term that pulls the ring horizontal, and this is the source of Kostya's pendulum force (which is the reason the inner ring can stably oscillate around the horizontal position).
The coriolis force is $\omega\times v$, and when the ring is partway between horizontal and vertical, it turns the inner ring like a steering wheel in a definite direction. This needs to be counteracted by the outer ring, and this turning push is provided by the contacts. The turning push is what is responsible for the ice-skater-like slowing down of the outer ring (but here we are assuming the outer ring is very massive).
The result is completely intuitive, and you can understand all the effects--- there is a steering wheel pull on the inner ring in opposite directions as it is rotating, which only has the effect of slowing down the outer ring, and which can be provided by the grip of the outer wheel on the inner one.