Init display orientation according to panel orientation

   - Initialize the display default orientation to panel orientation.
   - honor the panel orientation only after the end of boot animation
     or the new orientation is as same as panel orientation.

Change-Id: If70d544a8a14112034b82ccc46b765eab0e557e6
surfaceflinger: Reimplement hwrotation

Change-Id: Ia26bb36b5b6de132af49c272c4472ad2703afbda
surfaceflinger: odd hw rotation (90/270) patch for swapping
 width/height

This patch works in addition to the following commit
re-implementing ro.sf.hwrotation:
https://github.com/CyanogenMod/android_frameworks_native/commit/7d283431efffc4402cb1a6cacf5da64729c883bb

When using values of 90 and 270 for ro.sf.hwrotation the
LCD width and height also need to be swapped to display properly.

Change-Id: I2874fdb8f8d8b855df6d62d338c9a22360491973
NOTE: This patch does not fix the initial startup of bootanimation
Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270

Change-Id: I7ad3c83e23ce38280818ec5283d173d50c889531
surfaceflinger: Consolidate display orientation compensation hooks

Dedupe rotation calculation code and make rotation a statically
available property in the DisplayDevice

Conflicts:
	services/surfaceflinger/DisplayDevice.cpp
	services/surfaceflinger/SurfaceFlinger.cpp

Change-Id: Ic517ab0d2c05026cd6fa46d664aab7926be17b62
Merge "Init display orientation according to panel orientation" into lp5.0
Merge "surfaceflinger: Reimplement hwrotation" into lp5.0
Merge "surfaceflinger: odd hw rotation (90/270) patch for swapping  width/height" into lp5.0
Merge "Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270" into lp5.0
Merge "surfaceflinger: Consolidate display orientation compensation hooks" into lp5.0