[Unit test lib] Create a base representation of a GlanceNode for testing in base layer (glance-testing) lib.

The `appWidget-testing` lib will contain the test rule that will include all logic relevant for appWidgets to setup and run tests and use some of the common base layer "emittable" based classes.

Package `androidx.glance.testing`:
Base classes common for testing. Introduces a GlanceNode<xx> which can be implemented using any level of representation. For example: `MappedNode` that uses Emittables for unit testing, in future we could add `RenderedNode` that uses remote views for instrumented testing etc.

Package `androidx.glance.testing.unit`:
Emittable node based implementation of base classes that can be reused for appWidgets as well as other surfaces.

Bug: b/201779038
Test: GlanceMappedNodeTest
Relnote: Adds a `GlanceNode` that represent a node under test in the glance testing framework
Change-Id: Ib97f9fe8a2d3a83cd5c958f0a845f5f1e83dd754
diff --git a/settings.gradle b/settings.gradle
index 34dec2f..6188648 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -774,6 +774,7 @@
 includeProject(":glance:glance-material3", [BuildType.GLANCE])
 includeProject(":glance:glance-template", [BuildType.GLANCE])
 includeProject(":glance:glance-template:integration-tests:template-demos", [BuildType.GLANCE])
+includeProject(":glance:glance-testing", [BuildType.GLANCE])
 includeProject(":glance:glance-wear-tiles:integration-tests:demos", [BuildType.GLANCE])
 includeProject(":glance:glance-wear-tiles:integration-tests:template-demos", [BuildType.GLANCE])
 includeProject(":glance:glance-wear-tiles", [BuildType.GLANCE])