Add a workaround for what *might* be a typecheck bug in rustc.

It appears that the type inference *changes* depending on whether or not
cur.pop_ws() is stored in a variable.  If it *isn't* kept in a variable,
rustc complains during analysis that Scanner::new was expecting a
&Cursor<...>, but was given a &Cur.  This should be impossible because the
concrete Cursor type is never mentioned in the function, nor is it used in
the ScanCursor trait that *is* being used.  It's like it's peeking ahead
and deciding to check against an actual impl.
Version 0.5.1.