Fix the build with gcc 3.8.1

The declaration as enum and the redeclaration as
unsigned conflicts and cause a compiler error. Use
unnamed enums instead, we are not using the type
for variable declarations anyway.
Merge pull request #81 from dnarvaez/enums3

Fix the build with gcc 3.8.1
Add support to send deferred messages.

Currently, any window state change messages are not sent by the host until
connection is established. The patch adds support to queue all these messages
and dispatch them after the connection is established.
Dont dispatch duplicate show events.

We send an ipc message for every visibility change event. Currently, we
dont check if the visibility state has changed before sending the message.
The patch adds state checks before sending the message.
Send size attributes along with state change information.

Many of the window state changes effect its bounds i.e Maximize, Resize,
FullScreen etc. The patch adds support to send this information along with
the effected state.
Add support for sending window bounds.

This patch adds support for sending window size information over ipc
channel as needed.
Fix window resizing.

Now, window knows its correct bounds before it's realized. The patch removes
all un-necessary resizing code.
Merge pull request #87 from kalyankondapally/WindowResizeReview

Window resize review
Support creation of more than one window.

We always create a single window and assume thats the only window present.
This patch removes this restriction and every GetAcceleratedWidget call will
create a new widget. Now, we also support mapping opaque handle to a widget.
Remove handle generation code in Window.

Now, Display is responisble for generating and mapping handles to widget.
This patch removes similar code in Window class.
Merge pull request #88 from kalyankondapally/MapWindowReview

Map window review
Set Wayland as SurfaceFactory implementation.

This patch sets wayland as Surface implementation for Aura shell and
chrome.
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
patches: Track upstream changes

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