libgreenisland: Compositor state

Track compositor state.

Closes #38
libgreenisland: Idle mechanism

Implement idle mechanism with inhibit.

Closes #39
libgreenisland: Keep track of the shell client process

Keep track of whether the shell client process is running or not.

Closes #40
declarative: Ping surfaces only if available
libgreenisland: Move EGL information to another file

This fixes conflicts between QMetaType::Bool and a previous Bool define
that originates from EGL headers.
libgreenisland: Keep track of surfaces

Keep a list of surfaces.

Closes #41
libgreenisland: Damage all surfaces

Add a method to damage all surfaces.
libgreenisland: Idle timer and inhibit

Closes #39