[Misc] Convert CastDevice to a Kotlin data class.

For the screen sharing chips implementation (b/332662551), we need to
add a new interactor to listen to CastController, and it'll be slightly
nicer to add that interactor on top of a Kotlin data class.

Also adds:
1) CastDevice#isCasting method instead of re-implementing that logic in
   many places
2) CastDevice.origin, which will be needed for the screen sharing chips

Bug: 332662551
Flag: NONE refactor
Test: Use Cast tile to cast to another device, then stop that cast
Test: Start sharing your screen to an app, and verify the Cast tile
shows cast as active
Test: atest CastAutoAddableTest CastTileTest CastControllerImplTest

Change-Id: Iaa4a15a6938098b0ce359946558381e45166ec7c
13 files changed