display: Add support for dynamic refresh rate

- The primary panels refresh rate can be change by clients
- Required refresh rate will be set by client using metadata
- If there are multiple clients requesting, it will be used only
  when the refresh rates are equal, else it resets to default
- Set the new refresh rate only when there are only YUV layers
  updating or when the list has only one RGB layer updating
- MdpVersion gets the dyn fps capabilities from panelInfo

Change-Id: If3e7e6b2f028eb301399c4d32c748eed8a97c41f
diff --git a/libexternal/external.cpp b/libexternal/external.cpp
index 0a1335a..b0dbf2e 100644
--- a/libexternal/external.cpp
+++ b/libexternal/external.cpp
@@ -651,6 +651,8 @@
             (int)mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].xres;
         mHwcContext->mViewFrame[HWC_DISPLAY_EXTERNAL].bottom =
             (int)mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].yres;
+        mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].refreshRate = fps;
+        mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].dynRefreshRate = fps;
         mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].vsync_period =
                 (int) 1000000000l / fps;
     }