egl: wayland: Fix WaylandNativeWindowBuffer destroying

We can't just kill a buffer whenever, it might have external references.
Thus we need to just drop references and do memory freeing in destructor.

Signed-off-by: Kalle Vahlman <kalle.vahlman@movial.com>
egl: wayland: Move gralloc allocation to WaylandNativeWindowBuffer

Since we need to release the gralloc allocation in WaylandNativeWindowBuffer
destructor, move the allocation there too for symmetry and readability.

Signed-off-by: Kalle Vahlman <kalle.vahlman@movial.com>
egl: common: Fix BaseNativeWindow destructor type

If the BaseNativeWindow destructor isn't declared as virtual, derived
class descructors like WaylandNativeWindow::~WaylandNativeWindow() are
not called.

Signed-off-by: Kalle Vahlman <kalle.vahlman@movial.com>
egl: wayland: Fix WaylandNativeWindow lifetime

To properly keep track and end the life cycle of WaylandNativeWindow,
we need to take and release a reference in waylandws.

Signed-off-by: Kalle Vahlman <kalle.vahlman@movial.com>
Merge pull request #135 from kvahlman/wl-lifetime-fixes

Wl lifetime fixes