Add ctx/uctx 2D vector graphics library
Quoting myself from matrix:
uctx branch status: the allocator usage seems sane, but there's a memory leak every time hardware.reset_ctx() is called - the python object is handled by gc but the C object isn't. sadly, fixing that by destroying the old ctx would result in use after free.
proper fix would look like what rahix proposed - smaller ctx objects that delegate to the fullscreen one, and each python ctx object has a corresponding C ctx object that can be safely destroyed when it gets gc'd.
i would propose merging this branch as it is to unblock people interested in ctx, accept the memory leak for now, and work on fixing the issue after it is merged