libgui: add layer_state_t::diff

Compares two layer_state_t structs and returns
a set of change flags describing all the states
that are different.

Also introduces change sets describing which
set of client states can affect the hierarchy,
content or the content size.

Bug: 238781169
Test: presubmit
Change-Id: I6e5fb255972aff2373be27e62005ee3a8de7ebf6
3 files changed