SF: Add tests for hole punch

Bug: 186144794
Test: This

Update "peekThroughLayer"'s type to be compositionengine::OutputLayer
(the abstract base class, rather than the implementation) so that a
mock::OutputLayer pointer registers as equal to itself. Likewise, use
the same type when storing a pointer to it in
Output::writeCompositionState. Finally, use the base type as the return
value from CachedSet::getHolePunchLayer. This has the effect of updating
calls in Flattener that look like

  auto* peekThroughLayer = cachedSet->getHolePunchLayer();

to use the base class type, too. It also matches other methods, like
LayerState::getOutputLayer.

Change-Id: I53fc851eca876d44ba7cb9347f1c62d659c38932
8 files changed