By definition the starting knowledge is that x is in (0, n) interval. Then you test each power of 2 (incl. zero) as r. Each test tells you the new boundary for the interval to which x belong. If y eq. 1 -- we should drop lower half of the current interval, if it's eq. 0 then we drop upper bound. Let's imagine that for $2^0$ it returns 1, so we know that x is in ($n/2$, n). For the next step ($2^1$) if it returns 0, then x is in ($n/2$, $3n/4$). And so on.
As $P_x(0)$ tells us half of {Z_n} where x belongs, doubling of x let us iteratively calculate the interval (with length 1 in the end of the process) to which x will be wrapping around after each doubling.
PS Never heard term "Baby Bleichenbacher", but it doesn't differs in essence from "RSA parity oracle", which is easy to get a lot of examples, descriptions and discussions around.