EGL Platform null: Don't do named struct assignments

When hooking up the ws functions to struct ws_module, do not use named
struct assignments. This way, additions and removals to/from struct
ws_module generate warnings instead of being silenced.

Signed-off-by: Thomas Perl <thomas.perl@jollamobile.com>
EGL: Add support for ws_DestroyWindow

Some EGL platform like fbdev need to know when a window surface is
destroyed, so that it can carry out clean ups in its internal state.

egl/ws.*: Add ws_module::DestroyWindow and ws_DestroyWindow
egl/helper.*: Add simple surface->window mapping using std::map
egl/egl.c: Maintain mapping and call ws_DestroyWindow
egl/platforms/*: Add DestroyWindow implementations

The DestroyWindow implementation for hwcomposer, null and wayland might
need some additional work - I've added TODO comments where I wasn't sure
if deleting what okay at that point.

ws_DestroyWindow will be called after the real EGLDestroySurface has
returned, but before our wrapper EGLDestroySurface function returns.

Signed-off-by: Thomas Perl <thomas.perl@jollamobile.com>
Merge pull request #111 from thp/egl_ws_destroywindow

EGL: Add support for ws_DestroyWindow