Camera: Narrow down cases preview spacer is used

HW_TEXTURE usage flag may be used for ImageReader. Do not treat the
surface as SurfaceTexture if the surface has CPU read flag at the
same time.

In addition:
- Only enable preview spacer if timestamp base is DEFAULT,
- Use readoutTimestamp for re-spacing.
- Remove the system property to disable frame spacing.

Test: Camera CTS, Observe smoother GCA photo preview
Bug: 195025014
Change-Id: I40a3b1acac44ed8a474aad94b77aee8f7399eb31
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.h b/services/camera/libcameraservice/device3/Camera3OutputStream.h
index 79461bd..4ab052b 100644
--- a/services/camera/libcameraservice/device3/Camera3OutputStream.h
+++ b/services/camera/libcameraservice/device3/Camera3OutputStream.h
@@ -160,6 +160,11 @@
     bool isConsumedByHWTexture() const;
 
     /**
+     * Return if this output stream is consumed by CPU.
+     */
+    bool isConsumedByCPU() const;
+
+    /**
      * Return if the consumer configuration of this stream is deferred.
      */
     virtual bool isConsumerConfigurationDeferred(size_t surface_id) const;