Add private APIs to get Python version before bootstrapping Python. ### Description

Add private APIs (module.\_py_version_{major,minor,micro}) to get the Python version before bootstrapping Python, and use it in Module.preRun to initialize filesystem.

### Checklists

- [x] Add / update tests

from pytest_pyodide import run_in_pyodide


@run_in_pyodide(
    packages=[
        "rebound",
        "numpy",
    ]
)
def test_integrate(selenium):
    import numpy
    import rebound

    sim = rebound.Simulation()
    sim.add(m=1)
    sim.add(m=1e-3, a=1)
    sim.add(m=1e-3, a=2)
    sim.integrate(10)

    assert numpy.fabs(sim.t - 10.0) < 1e-10, "Orbit integration not working"
    return None

from pytest_pyodide import run_in_pyodide


@run_in_pyodide(
    packages=[
        "rebound",
        "numpy",
    ]
)
def test_integrate(selenium):
    import numpy
    import rebound

    sim = rebound.Simulation()
    sim.add(m=1)
    sim.add(m=1e-3, a=1)
    sim.add(m=1e-3, a=2)
    sim.integrate(10)

    assert numpy.fabs(sim.t - 10.0) < 1e-10, "Orbit integration not working"
    return None
