Allow source encoding to be configured

The source encoding is explicitly passed everywhere it's needed.

This allows sbt-twirl to configure the encoding, and to check for an
exisiting -encoding setting in scalacOptions.