Use some Ceylon APIs instead of Java APIs

Most notably, FormattingVisitor now takes a ceylon.file.Writer instead of a java.io.Writer