Added return type into JsonDSL Implicits for overrideing

I need a function that can represent numeric values by `JString`, because I avoid rounding errors and digit overflow in JavaScript.

However, JsonDSL is not be able to customize primitive result types.

This request makes JsonDSL enable to change result type of primitive values.

like following

```scala
object CustomJsonDSL extends JsonDSL with DoubleMode {
  override implicit def int2jvalue(x: Int): JValue = JString(x.toString)
  override implicit def long2jvalue(x: Long): JValue = JString(x.toString)
}
import CustomJsonDSL._

(("int" -> 10) ~ ("long" -> 20L)) must_== JObject(("int", JString("10")), ("long", JString("20")))
```