[json-data-encoding] Recursive type encoding

@raphael-proust
I found an issue with json-data-encoding library.
Valid schema (according to https://www.jsonschemavalidator.net/) doesn’t parsed.
I think the reason is "$ref": "#" reference.

let schema = {|
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "self1": {
      "oneOf": [
        {
          "$ref": "#"
        },
        {
          "type": "null"
        }
      ]
    },
    "int32f": {
      "type": "integer",
      "minimum": -2147483648.0,
      "maximum": 2147483647.0
    }
  },
  "required": [
    "int32f",
    "self1"
  ],
  "additionalProperties": false
}
|}
let _ = schema |> Yojson.Safe.from_string |> Json_repr.from_yojson |> Json_schema.of_json
(* Fatal error: exception Json_schema.Cannot_parse(0, _)*)