Use C++11's std::to_string().
Use C++11's type-safe enum structs for:

- Device
- Language
- Texture
Link against system libs reported by llvm.
Fix compile error.
Cleanup compiler flags etc.
Use -Xcompiler for nvcc only.
Merge branch 'master' into vivado_hls

Conflicts:
	include/hipacc/Config/CompilerOptions.h
	include/hipacc/DSL/ClassRepresentation.h
	include/hipacc/Device/Builtins.h
	lib/AST/ASTTranslate.cpp
	lib/AST/BorderHandling.cpp
	lib/AST/Convolution.cpp
	lib/AST/Interpolate.cpp
	lib/Device/Builtins.cpp
	lib/Rewrite/CreateHostStrings.cpp
	lib/Rewrite/Rewrite.cpp