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

import pytest


@pytest.mark.driver_timeout(40)
def test_pyb2d(selenium_standalone, request):
    selenium = selenium_standalone
    selenium.load_package("pyb2d")

    selenium.run(
        """
        import numpy as np
        import b2d
        w = b2d.world(gravity=(0,-10))
        """
    )

import pytest


@pytest.mark.driver_timeout(40)
def test_pyb2d(selenium_standalone, request):
    selenium = selenium_standalone
    selenium.load_package("pyb2d")

    selenium.run(
        """
        import numpy as np
        import b2d
        w = b2d.world(gravity=(0,-10))
        """
    )
