the first draft of transparent API and UMat implementation

if all the tests pass; I think, the PR could be merged in