"static const" instead of "#define" for script API M_* constants.

This makes referenced script API M_* constants visible in the debugger.

Modify rs lldb test for the constants so that it references them.

Adapted from https://android-review.googlesource.com/#/c/210789/

Test: aosp_arm64-eng on emulator
- run slang/tests, slang/lit-tests
- run rs lldb test suite
- run RsTest (32-bit, 64-bit)
- run cts -m RenderscriptTest (32-bit)
- confirmed that omitting type: or value: from constant: causes
  script_api/generate.sh to fail with an error

Change-Id: I9cc89771ad5d90432c0ea0a1885aae8d9003dafe
diff --git a/script_api/Specification.h b/script_api/Specification.h
index bcd5737..9e1b2ee 100644
--- a/script_api/Specification.h
+++ b/script_api/Specification.h
@@ -258,7 +258,7 @@
     VersionInfo getVersionInfo() const { return mVersionInfo; }
 };
 
-/* Defines one of the many variations of a constant.  There's a one to one correspondance between
+/* Defines one of the many variations of a constant.  There's a one to one correspondence between
  * ConstantSpecification objects and entries in the spec file.
  */
 class ConstantSpecification : public Specification {
@@ -266,11 +266,13 @@
     Constant* mConstant;  // Not owned
 
     std::string mValue;  // E.g. "3.1415"
+    std::string mType;   // E.g. "float"
 public:
     ConstantSpecification(Constant* constant) : mConstant(constant) {}
 
     Constant* getConstant() const { return mConstant; }
     std::string getValue() const { return mValue; }
+    std::string getType() const { return mType; }
 
     // Parse a constant specification and add it to specFile.
     static void scanConstantSpecification(Scanner* scanner, SpecFile* specFile, unsigned int maxApiLevel);
@@ -283,7 +285,7 @@
     ENUM,
 };
 
-/* Defines one of the many variations of a type.  There's a one to one correspondance between
+/* Defines one of the many variations of a type.  There's a one to one correspondence between
  * TypeSpecification objects and entries in the spec file.
  */
 class TypeSpecification : public Specification {
@@ -326,7 +328,7 @@
 // Maximum number of placeholders (like #1, #2) in function specifications.
 const int MAX_REPLACEABLES = 4;
 
-/* Defines one of the many variations of the function.  There's a one to one correspondance between
+/* Defines one of the many variations of the function.  There's a one to one correspondence between
  * FunctionSpecification objects and entries in the spec file.  Some of the strings that are parts
  * of a FunctionSpecification can include placeholders, which are "#1", "#2", "#3", and "#4".  We'll
  * replace these by values before generating the files.