Empty lines during whitespace scanning must remain in whitespace mode.

Previously we were returning to normal parsing mode in this case, meaning
that the whitespace at the beginning of the following line was eaten by
the normal parser. This meant that any newlines during a change of
indentation would be handled on a following line, causing an erroneous
token stream.