Fix formatter whitespace handling

The formatter needs a token stream to be able to keep the existing whitespace.

Fixes lucaswerkmeister/ceylon.formatter#62, as well as the already closed lucaswerkmeister/ceylon.formatter#63 and lucaswerkmeister/ceylon.formatter#64.
(It probably also fixes the wrong line breaks that @gavinking got in lucaswerkmeister/ceylon.formatter#61, but I’m still getting an exception there.)