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.