contextlib: Add contextlib from cpython 3.4.2.
contextlib: Make compatible with micropython