hwc: mdpcomp: Free pipeinfo objects every drawing round

Free pipeinfo objects every round on reset, irrespective of the
number of layers to avoid any possible leaks.

Change-Id: Ia47c968f6ee64cbb56be72336305bf11a45c2ee5
hwc: Remove getNonWormHoleRegion optimization for primary

Remove getNonwormHoleRegion optimization for primary because.
1. This overrides fbUpdatingRect optimization for primary.
2. sourceCrop and displayframe are always full screen for primary.

Change-Id: Ic6867c23ace40fcf36657cbbf1293cb4eb171a67
liboverlay: Invoke commit before freeing the writeback device

MDP releases resources programmed for the WB device only when the
device is not used by anyone else. So freeing up the WB device from
HWC doesn't always guarantee that all the pipes staged on the
device will be freed up. Always invoke the commit explicitly
before releasing WB device to unstage the resources.

Change-Id: I1d98b489eda3baf12449f84edfb3b3f8b84158d9
hwc: src split: Fix unwanted scaling with H-flip

Source split splits the crop and position into half, but if the
widths are odd and the left, right crops are swapped for H-flip, it
induces a scaling that is unaccounted for while allocating pipes.
This could lead to DMA pipes having scaling.

To fix this, the patch manipulates position width, if a swap happens.

Change-Id: I1b3ed582740fd49e651407be422820f60fe59cc6