Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
Unvendor distutils. Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
from pyodide_build.testing import run_in_pyodide


@run_in_pyodide(standalone=True, packages=["numpy", "imageio"])
def test_imageio():
    import numpy as np
    import imageio

    filename = "/tmp/foo.tif"
    image_in = np.random.randint(0, 65535, size=(100, 36), dtype=np.uint16)
    imageio.imwrite(filename, image_in)
    image_out = imageio.imread(filename)
    assert image_out.shape == (100, 36)
    np.testing.assert_equal(image_in, image_out)

from pyodide_build.testing import run_in_pyodide


@run_in_pyodide(standalone=True, packages=["numpy", "imageio"])
def test_imageio():
    import numpy as np
    import imageio

    filename = "/tmp/foo.tif"
    image_in = np.random.randint(0, 65535, size=(100, 36), dtype=np.uint16)
    imageio.imwrite(filename, image_in)
    image_out = imageio.imread(filename)
    assert image_out.shape == (100, 36)
    np.testing.assert_equal(image_in, image_out)
