Clean up ScopedThreadStateChange to use ObjPtr

Also fixed inclusion of -inl.h files in .h files by adding
scoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h

Changed AddLocalReference / Decode to use ObjPtr.

Changed libartbenchmark to be debug to avoid linkage errors.

Bug: 31113334

Test: test-art-host

Change-Id: I4d2e160483a29d21e1e0e440585ed328b9811483
diff --git a/test/004-ThreadStress/thread_stress.cc b/test/004-ThreadStress/thread_stress.cc
index 573c352..8ae3dfb 100644
--- a/test/004-ThreadStress/thread_stress.cc
+++ b/test/004-ThreadStress/thread_stress.cc
@@ -19,18 +19,18 @@
 #include "jni.h"
 #include "mirror/string.h"
 #include "mirror/throwable.h"
-#include "scoped_thread_state_change.h"
+#include "scoped_thread_state_change-inl.h"
 
 namespace art {
 
 extern "C" JNIEXPORT void JNICALL Java_Main_printString(JNIEnv*, jclass, jstring s) {
   ScopedObjectAccess soa(Thread::Current());
-  std::cout << soa.Decode<mirror::String*>(s)->ToModifiedUtf8();
+  std::cout << soa.Decode<mirror::String>(s)->ToModifiedUtf8();
 }
 
 extern "C" JNIEXPORT void JNICALL Java_Main_printThrowable(JNIEnv*, jclass, jthrowable t) {
   ScopedObjectAccess soa(Thread::Current());
-  std::cout << soa.Decode<mirror::Throwable*>(t)->Dump();
+  std::cout << soa.Decode<mirror::Throwable>(t)->Dump();
 }
 
 }  // namespace art