libhwcomposer: Optimize layer crops when possible.

With in hwc list of layers if a layer above is opaque,
deduct the opaque layers crops from all the layers below
in z-order if deduction is possible with out creating
any hole.

Change-Id: I6391a13b0501cb972b134f72b58514cb807c7613
(cherry picked from commit 34e5ca67a56585623ea748ca138d6ed7b22a7f44)

Conflicts:
	libhwcomposer/hwc_utils.h