[Bind] Added preliminary implementation of classes

Classes contain a collection of extension methods to simplify usage of
an API. This primarily meant for OpenCL, which is type-safe. WIP.
[Bind] Added class generation to CSharpSpecWriter
Fixed dllmap for OpenCL
[CL] Initial support for ref string parameters
[CL] Renamed ErrorCodes to ErrorCode

Also added count=1 to ErrorCode out parameters
[CL] Renamed ContextHandle to ComputeContextHandle

This allows us to use extension function helpers.
[CL] Regenerated bindings
Allow use of extension functions on .Net 2.0
Added simple CL12 sample (WIP)