gralloc: Add GRALLOC_PRIVATE_USAGE_WFD flag

1. Screenrecord and WFD use virtual display and encoder.
   Since HAL supports only one virtual display, we need a
   definite way to distinguish both use-cases.

   Failure to differentiate will break Screen record + WFD
   concurrent usecase.

   WFD stack will set this usage flag and SF will query the usage
   flags to differentiate WFD and screenrecord usecase.

2. Deprecate GRALLOC_USAGE_PRIVATE_EXTERNAL_CC and
   GRALLOC_USAGE_PRIVATE_EXTERNAL_BLOCK flags as these are no
   longer used.

Change-Id: Ifa260c5af2371eea830744ce62a5a83b8cfd0de7
hwc: Use GPU Composition for 8x26 virtual dpy scaling case

For 8x26, if there is only one layer which needs scale for
secondary display, while no scale for primary display, DMA
pipe is occupied by primary. If layer changed and need to
fall back to GLES composition, virtual display lacks DMA
pipe and error is reported.

To avoid this case, use GPU composition for virtual display
scaling case on 8x26.

Change-Id: I42297a18006517532e30d1a01c67ff8ca187482a
display: initialize viewFrame info for external displays

- At the initialization, set the viewFrame info for the external
  and virtual displays to its resolution.
- It will be modified later based on the display projection

Change-Id: I25b74dcd375cb15386d5dad6f6d3730b15969f8f