Fix leaveHmode() so it doesn't short circuit pageBuilder
Fix leaveHmode() so it doesn't short circuit pageBuilder

For some reason I thought we could bail out of this early if there was
nothing in the queue, but apparently I hadn't thought it through. This
is how the pageBuilder() gets called and we need to leave the decision
about whether we're ready to run it or not up to itself, not short out
before we let it try.

Also replaced loop with faster syntax.

neofob/sile,alerque/sile,neofob/sile,neofob/sile,alerque/sile,simoncozens/sile,neofob/sile,alerque/sile,alerque/sile,simoncozens/sile,simoncozens/sile,simoncozens/sile