This is a first pass at Typescript definitions for WebCL - NOT FULLY TESTED!!