Add uhashlib with sha256 implementation

Files come from upstream as-is. I don't see a reason to start patching them just to rename types.