Fix b/3427124. Adding the overloadable invokable feature. Reflect that type of invokables to Java.

1. Add __attribute__((overloadable)) support on the rs side for invokables. Requested by the Books team.
2. Add name mangling support and MangleContext.
3. Add the test P_overload.
4. This CL only affects Honeycomb SDK. It doesn't affect Final ROM.
5. This CL should go in at the same time with another CL on external/clang.git (to be done now.)

Change-Id: I9e743894a97626d8c27b0dd9c0a51cef1175d2ab
diff --git a/slang_rs_context.cpp b/slang_rs_context.cpp
index bc2b3e0..8b284b3 100644
--- a/slang_rs_context.cpp
+++ b/slang_rs_context.cpp
@@ -56,7 +56,8 @@
       mTargetData(NULL),
       mLLVMContext(llvm::getGlobalContext()),
       mLicenseNote(NULL),
-      version(0) {
+      version(0),
+      mMangleCtx(*(new clang::CodeGen::MangleContext(Ctx, *(&PP.getDiagnostics())))) {
   slangAssert(mGeneratedFileNames && "Must supply GeneratedFileNames");
 
   // For #pragma rs export_type