message: Moving UiHelper to the constructor which allows for more composable control of the underlying views & surface
diff: @@ -58,7 +58,10 @@ private const val kSensitivity = 100f
  *
  * See `sample-gltf-viewer` for a usage example.
  */
  -class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener {
  +class ModelViewer(
  + val engine: Engine,
  + private val uiHelper: UiHelper
  +) : android.view.View.OnTouchListener {
  var asset: FilamentAsset? = null
  private set
  @@ -85,7 +88,6 @@ class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener {
  val renderer: Renderer
  @Entity val light: Int
  - private val uiHelper: UiHelper = UiHelper(UiHelper.ContextErrorPolicy.DONT_CHECK)
  private lateinit var displayHelper: DisplayHelper
  private lateinit var cameraManipulator: Manipulator
  private lateinit var gestureDetector: GestureDetector
  @@ -130,7 +132,12 @@ class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener {
  scene.addEntity(light)
  }
  - constructor(surfaceView: SurfaceView, engine: Engine = Engine.create(), manipulator: Manipulator? = null) : this(engine) {
  + constructor(
  + surfaceView: SurfaceView,
  + engine: Engine = Engine.create(),
  + uiHelper: UiHelper = UiHelper(UiHelper.ContextErrorPolicy.DONT_CHECK),
  + manipulator: Manipulator? = null
  + ) : this(engine, uiHelper) {
  cameraManipulator = manipulator ?: Manipulator.Builder()
  .targetPosition(kDefaultObjectPosition.x, kDefaultObjectPosition.y, kDefaultObjectPosition.z)
  .viewport(surfaceView.width, surfaceView.height)
  @@ -145,7 +152,12 @@ class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener {
  }
  @Suppress("unused")
  - constructor(textureView: TextureView, engine: Engine = Engine.create(), manipulator: Manipulator? = null) : this(engine) {
  + constructor(
  + textureView: TextureView,
  + engine: Engine = Engine.create(),
  + uiHelper: UiHelper = UiHelper(UiHelper.ContextErrorPolicy.DONT_CHECK),
  + manipulator: Manipulator? = null
  + ) : this(engine, uiHelper) {
  cameraManipulator = manipulator ?: Manipulator.Builder()
  .targetPosition(kDefaultObjectPosition.x, kDefaultObjectPosition.y, kDefaultObjectPosition.z)
  .viewport(textureView.width, textureView.height)
  