[Fix] Enable writes of value classes

Hello,

I have noticed a bug in all Writes (json, form) when one wants to define a Write of a custom value class. This due to the fact that AnyVal is used to create writes for all the numeric value types, which has the side-effect of including custom value classes.

Example in validation-json:
```scala
case class Id(value: String) extends AnyVal
object Id {
  implicit val writes: Write[Id, JsString] = Write(id => JsString(id.value))
}

val w = To[JsObject] { __ =>
  (__ \ "id").write[Id]
}

w.writes(Id("1")) mustEqual Json.obj("id" -> "1")
```
This resulted in write[Id] using the anyval write and thus trying to construct a BigDecimal of Id.

This PR fixes the issue for json, json4s and form.