Unvendor pydoc_data and _pydecimal. ### Description

Removes / unvendors some python modules:

- Remove `_aix_support.py`, which is for supporting IBM AIX OS.

- Unvendor `_pydecimal.py`.
  - _pydecimal is a pure Python implementation of `decimal` module. [Importing `decimal` fallbacks](https://github.com/python/cpython/blob/main/Lib/decimal.py) to `_pydecimal` if the C-implementation `_decimal` is not available. In our case, _decimal is available, so _pydecimal will not be normally used. 

- Unvendor `pydoc_data`.
  - pydoc_data contains [a large (~700KB) dictionary](https://github.com/python/cpython/blob/main/Lib/pydoc_data/topics.py) for explaining python builtins. This is mostly used when `help("...")` is called.

### Checklists

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

import json
import sys

import matplotlib.pyplot as plt
import numpy as np

plt.rcdefaults()
fig, ax = plt.subplots(constrained_layout=True, figsize=(8, 8))

with open(sys.argv[-2]) as fp:
    content = json.load(fp)

results = []
for k, v in content.items():
    results.append((k, v["firefox"] / v["native"], v["chrome"] / v["native"]))
results.sort(key=lambda x: x[1], reverse=True)

names = [x[0] for x in results]
firefox = [x[1] for x in results]
chrome = [x[2] for x in results]

width = 0.35
y_pos = np.arange(len(results))
ax.barh(y_pos, firefox, width, color="#ff9400", label="firefox")
ax.barh(y_pos + width, chrome, width, color="#45a1ff", label="chrome")
ax.set_yticks(y_pos + width / 2)
ax.set_yticklabels(names)
ax.invert_yaxis()
ax.set_xlabel("Slowdown factor (WebAssembly:Native)")
ax.set_title("Python benchmarks")
ax.axvline(1.0, color="red")
ax.grid(axis="x")
ax.legend(loc="lower right")

plt.savefig(sys.argv[-1])

import json
import sys

import matplotlib.pyplot as plt
import numpy as np

plt.rcdefaults()
fig, ax = plt.subplots(constrained_layout=True, figsize=(8, 8))

with open(sys.argv[-2]) as fp:
    content = json.load(fp)

results = []
for k, v in content.items():
    results.append((k, v["firefox"] / v["native"], v["chrome"] / v["native"]))
results.sort(key=lambda x: x[1], reverse=True)

names = [x[0] for x in results]
firefox = [x[1] for x in results]
chrome = [x[2] for x in results]

width = 0.35
y_pos = np.arange(len(results))
ax.barh(y_pos, firefox, width, color="#ff9400", label="firefox")
ax.barh(y_pos + width, chrome, width, color="#45a1ff", label="chrome")
ax.set_yticks(y_pos + width / 2)
ax.set_yticklabels(names)
ax.invert_yaxis()
ax.set_xlabel("Slowdown factor (WebAssembly:Native)")
ax.set_title("Python benchmarks")
ax.axvline(1.0, color="red")
ax.grid(axis="x")
ax.legend(loc="lower right")

plt.savefig(sys.argv[-1])
