First-pass for the new RenderEngine interface.

Includes separate test suite just for renderengine, so that we can test
against the interface directly.

I'll try to sync the interface definition in go/re-interface-cleanup
with whatever we land on here.

TODOs (future cls):
* Adding/deleting textures (move SF texture pool behind renderengine?)
* BufferLayer::bindTextureImage should probably move behind RE since
there's some duplicated code.

Bug: 117103231
Change-Id: Ib155b47c7c2ebbb9a23075a8534bd2842e846b9e
Test: test-renderengine
9 files changed