BufferStateLayer: Mirror BufferQueue behavior in fence merging

We have two behavior changes here, lifted directly from ConsumerBase:
	1. Don't overwrite our callback handle fence with an invalid
	fence
	2. If we are going to overwrite a non-null fence with a valid
	one, attempt to merge them

Bug: 171370396
Test: Existing tests pass
Change-Id: Ie1cb0602393e5f520721a5cb89829fc342fbfc5f
2 files changed