More minor cleanup for scala version.

Case classes use `val` for constructor params by default.

Separated concerns a bit more for code leading up to toString in object
Toon.

s/Array/List/g  ... No good reason to insist on Array here.

Tightened up return type signatures a little bit.