Fix #1236: Implement java.io.PrintWriter.

Indeed it doesn't ^^:
```scala
scala> class MockStringWriter extends StringWriter {
     |   override def write(s: String, off: Int, len: Int): Unit = throw new IOException("boom")
     | }
defined class MockStringWriter

scala> val sw = new MockStringWriter
sw: MockStringWriter =

scala> val pw = new PrintWriter(sw)
pw: java.io.PrintWriter = java.io.PrintWriter@2d07eef3

scala> pw.print("hello")

scala> sw.toString
res8: String = ""

scala> pw.checkError
res9: Boolean = true

scala> val pw2 = new PrintWriter(pw)
pw2: java.io.PrintWriter = java.io.PrintWriter@5847513b

scala> pw2.checkError
res10: Boolean = true

scala> val sw = new MockStringWriter
sw: MockStringWriter =

scala> val pw = new PrintWriter(sw)
pw: java.io.PrintWriter = java.io.PrintWriter@5ce68501

scala> pw.print("hello")

scala> val pw2 = new PrintWriter(pw)
pw2: java.io.PrintWriter = java.io.PrintWriter@43c67d6f

scala> pw2.close()

scala> pw2.checkError()
res13: Boolean = false

scala> pw.checkError
res14: Boolean = true
```