Extract shared values outside of the Element class

This CL moves the Maps and objects that are used to interpolate shared
values outside of the Element class. That way, animating a shared value
won't require the Element object, which will allow to remove the last
call to Snapshot.withoutReadObservation {} and map mutations during
compisition inside Modifier.element().

Test: AnimateSharedAsState
Bug: 291071158
Flag: N/A
Change-Id: Ib56dd943d233edf1276934c02ad37c08821e318d
5 files changed