SIGN IN SIGN UP

Remove restrict annotation from following Subspace API

`Subspace` now has an overload which takes a `FollowTarget` parameter.
This was previously restricted to library scope, but is now available
publicly as an experimental API along with `FollowTarget`, `FollowMode`,
and `TrackedDimensions`.

This API is intended to phase out the `FollowingSubspace` API.

The primary changes are:
- Hierarchy of the parameters (modes and dimensions are now configured on the target).
- `FollowTarget.ArDevice` is now called `FollowTarget.view` and no longer requires passing a `Session`.
- `FollowBehavior` is now called `FollowMode`.
- `FollowTarget.anchor` now takes an ARCore `Anchor` directly, eliminating the need to create and manage an `AnchorSpace`.

Head-locked content with previous API:
```
FollowingSubspace(
    target = FollowTarget.ArDevice(session),
    behavior = FollowBehavior.Soft(),
    dimensions = TrackedDimensions.All,
) {}
```

Head-locked content with new API:
```
Subspace(
    follow = FollowTarget.view(
        mode = FollowMode.soft(
            dimensions = TrackedDimensions.All,
        ),
    ),
) {}
```

Anchored content with previous API:
```
val anchor = (Anchor.create(session, pose) as AnchorCreateSuccess).anchor
val anchorSpace = AnchorSpace.create(session, anchor)

FollowingSubspace(
    target = FollowTarget.Anchor(anchorSpace),
    behavior = FollowBehavior.Soft(),
    dimensions = TrackedDimensions.All,
) {}
```

Anchored content with new API:
```
val anchor = (Anchor.create(session, pose) as AnchorCreateSuccess).anchor

Subspace(
    follow = FollowTarget.anchor(
        anchor = anchor,
        mode = FollowMode.soft(
            dimensions = TrackedDimensions.All,
        ),
    ),
) {}
```

Bug: 541471606

Test: All unit tests passed. Tested on Moohan emulator.

Relnote: Exposed experimental `Subspace` overload taking a `FollowTarget` parameter to support following content.

Change-Id: Iec1a91ce1445cdcc16331dbf791333aa0c7fac60
E
Eric Hernandez committed
5cea382f4949cff87680db53d6b66a5948bed493
Parent: 1e29f63