Merge pyodide_py into python_stdlib.zip. ### Description

Merges pyodide_py.tar into python_stdlib.zip. This reduces the number of network requests during the initialization.

The original intention of splitting pyodide_py.tar from pyodide.asm.data was to give users an option to provide custom files (#2023), which is now available by modifying python_stdlib.zip directly. So I think there is no reason to have both python_stdlib.zip and pyodide_py.tar.

### Checklists

- [x] Add a [CHANGELOG](https://github.com/pyodide/pyodide/blob/main/docs/project/changelog.md) entry
- [x] Add / update tests

from pytest_pyodide import run_in_pyodide


@run_in_pyodide(packages=["test", "pydecimal"], pytest_assert_rewrites=False)
def test_pydecimal(selenium):
    from test import libregrtest  # type:ignore[attr-defined]

    name = "test_decimal"

    ignore_tests = [
        "test_context_subclassing",  # floating point
        "test_none_args",  # Some context issue?
        "test_threading",
    ]
    try:
        libregrtest.main([name], ignore_tests=ignore_tests, verbose=True, verbose3=True)
    except SystemExit as e:
        if e.code != 0:
            raise RuntimeError(f"Failed with code: {e.code}") from None

from pytest_pyodide import run_in_pyodide


@run_in_pyodide(packages=["test", "pydecimal"], pytest_assert_rewrites=False)
def test_pydecimal(selenium):
    from test import libregrtest  # type:ignore[attr-defined]

    name = "test_decimal"

    ignore_tests = [
        "test_context_subclassing",  # floating point
        "test_none_args",  # Some context issue?
        "test_threading",
    ]
    try:
        libregrtest.main([name], ignore_tests=ignore_tests, verbose=True, verbose3=True)
    except SystemExit as e:
        if e.code != 0:
            raise RuntimeError(f"Failed with code: {e.code}") from None
