X11: Check for XCreateWindow failure

Check if XCreateWindow fails and bail out.
Add character input events

Add a new event type for unicode text input.

Handle text input in glwt_events test and print out the typed characters
in the window title bar.
X11: Character events using X Input Methods (XIM)

Generate character events from key presses.

Create an X Input Method (XIM) in glwtInit and an X Input Context (XIC)
for each window in glwtWindowCreate.

Use Xutf8LookupString to look up characters on KeyPress events.
Win32: Character events (WM_CHAR)

Handle WM_CHAR messages, decode unicode codepoint from UTF-16.
OSX: Character input events

Process [event characters] in keyDown event handler.
OSX: Fix 10.9 deprecation warnings
win32: fix missing return to case WM_CHAR

Add missing return to case WM_CHAR.

Add a cast from WPARAM to unsigned int to silence warning.
win32: clean up event handling

Return correct values from event event handler.

Remove duplicated some duplicated event handling code.
win32: refactor TrackMouseEvent logic

Refactor the logic behind MOUSE_ENTER/LEAVE events. Query
TrackMouseEvent state instead of storing a flag of the mouse
inside/outside status.
win32: fix character event utf16 decode

An extra zero in integer constant caused a comparison to be always true.

Add extra parenthesis to avoid compiler warning.
win32: fix cleanup on error

Fix cleanup code if errors occur in glwtInit.
win32: Process WM_SYSCHAR messages

Process WM_SYSCHAR events to get ALT+keydown handled correctly.
GLXW: new headers
osx: Fix deprecation warning
Add glwtGetTime

glwtGetTime returns a double precision floating point value representing
seconds since an unspecified starting point.
test/events: added time to event prints
Updated events test to work with multiple windows.

Press return to create a new window. (up to MAX_WINDOWS windows)