New Controls API @hide

First iteration of the Controls API. Currently marked as @hide.

Test: atest
Test: build
Change-Id: Idf44e6eb1c0317dc1d11cbe562fbbc6b776b8caa
26 files changed