Refactor preview position logic

Centralize the logic of laying out bottom bar and transforming
preview TextureView based on the total space to lay them out
and preview aspect ratio. The layout is updated when either condition
above has changed. Then the rect of the bottom bar and preview
rect can be queried anywhere. This way, bottom bar, mode options
layout, and any view that relies on the preview rect and bottom bar
rect can be laid out without extra layout passes.

Bug: 13795952
Change-Id: I13c38b566b5b5d8f37ec94f325554c089a86ca8e
13 files changed