Refactoring.

1) Better wayland smart pointer.
2) Use namespace for wayland and EGL stuff.
3) Move from stuff from wayland_listeners to wayland_utils.