Adding the following envelope to an index:

```
DELETE shape

PUT shape/
{
  "mappings": {
    "properties": {
      "geoLocationBox": {"type": "geo_shape"}
    }
  }
}

POST shape/_doc
{
  "geoLocationBox": {
    "type": "envelope",
    "coordinates": [
      [
        10.0,
        10.0
      ],
      [
        -10.0,
        -10.0
      ]
    ]
  }
}
```

If we try to plot it using vector tiles it gives the wrong bounding box as it should cross the dateline:

<img width="327" alt="image" src="https://user-images.githubusercontent.com/29038686/197124298-23855b83-91d0-4a92-a4d5-3ac728a917ef.png">

x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/FeatureFactory.java
public FeatureFactory(int z, int x, int y, int extent, int padPixels) {
        this.pixelPrecision = 2 * SphericalMercatorUtils.MERCATOR_BOUNDS / ((1L << z) * extent);
        final Rectangle r = SphericalMercatorUtils.recToSphericalMercator(GeoTileUtils.toBoundingBox(x, y, z));
        final Envelope tileEnvelope = new Envelope(r.getMinX(), r.getMaxX(), r.getMinY(), r.getMaxY());
        final Envelope clipEnvelope = new Envelope(tileEnvelope);
        
        clipEnvelope.expandBy(padPixels * this.pixelPrecision, padPixels * this.pixelPrecision);
        final GeometryFactory geomFactory = new GeometryFactory();
        this.builder = new JTSGeometryBuilder(geomFactory);
        this.clipTile = geomFactory.toGeometry(clipEnvelope);
        this.sequenceFilter = new MvtCoordinateSequenceFilter(tileEnvelope, extent);
        this.simpleFeatureFactory = new SimpleFeatureFactory(z, x, y, extent);
    }
    /**
     * Returns a {@code byte[]} containing the mvt representation of the provided point
     */
    public byte[] point(double lon, double lat) throws IOException {
        return simpleFeatureFactory.point(lon, lat);
    }
    /**
     * Returns a {@code byte[]} containing the mvt representation of the provided rectangle
     */
    public byte[] box(double minLon, double maxLon, double minLat, double maxLat) throws IOException {
        return simpleFeatureFactory.box(minLon, maxLon, minLat, maxLat);
    }
    /**
     * Returns a {@code byte[]} containing the mvt representation of the provided points
     */
    public byte[] points(List<GeoPoint> multiPoint) {
        return simpleFeatureFactory.points(multiPoint);