Ensure InitializeHardware is called.

We rely on an explicit call to InitializeHardware for initializing wayland
display and doing all other needed routines at startup.InitializeHardware
is only guaranteed to be called in GPU process/thread. This patch makes
changes to call this explicitly in GetAcceleratedWidget. We already have
checks in place to ensure the function initializes wayland display only
once per instance. This also fixes crash with Ash shell.
Merge pull request #90 from kalyankondapally/InitializeHardware

Ensure InitializeHardware is called.
Update README.md

thanks etrunk for the feedback,
patches: Track Upstream changes

Effecting CL: https://chromiumcodereview.appspot.com/23615009
Track upstream changes

Effecting CL:
https://codereview.chromium.org/24049004

but also there's one minor change from CL:
https://codereview.chromium.org/24343002
Merge branch 'for-upstream'
Track upstream changes.

Adopt to changes in DesktopRootWindowHostWayland RunMoveLoop api.

Effecting CL: https://codereview.chromium.org/24378002