TIF: Rearchitecting TvInputPassthroughWrapperService.

This change addresses the following issues raised in the API review:

TvInputPassthroughWrapperService needs to be rearchitected:
-- Create a nested class (possibly called RemoteTvInput) inside TvInputService that
   represents remote connection to the underlying physical TV input (HDMI).
   RemoteTvInput which will need to have additional method like createRemoteSession.
-- This class has methods to control that remote input, and a callback so TvInputService
   to observe state changes.
-- Add TvInputService.onGetParentInputId() (no argument) which returns null by default.
-- Extend TvInputService.onCreateSession(String inputId, RemoteTvInput parent) to pass
   in the RemoteTvInput requested by onGetParentInputId(), if any.

Bug: 16542165
Change-Id: Ic6b0c9b5d770c9d1f9377061af8dcb6bae0cb9dc
7 files changed