Added mutex around clGetPlatformIds
Updating to latest Rust.

Sadly, the context creation utility function now allocates. Hopefully LLVM can optimize this away.