Added metadata to llvm module and implementations in .cl file, missing name mangling.
Added support for multiple types in gpu.jl
Added type constraints on GPUArray and made code_ function api consistent
Rewrote lower pass to enable floating point and 32 bit precision
Templatized matrix multiply benchmark for testing all types.
Updated Makefile to be more efficient
Merge pull request #1 from havardh/adding-more-types

Adding more types